diff --git a/README.md b/README.md index f58439bb86..f97cafaa6b 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ export namespace json { // LLM FUNCTION CALLING APPLICATION export namespace llm { - // LLM function calling application from a class or interface type - export function application(): ILlmApplication; - export function schema(): ILlmSchema; // LLM type schema + // application from a class or interface type + export function application(): ILlmApplication; + export function schema(): ILlmSchema; // LLM type schema } // PROTOCOL BUFFER diff --git a/benchmark/package.json b/benchmark/package.json index fa9c6e7fec..acab667f9c 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -72,6 +72,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-7.0.0-dev.20241115.tgz" + "typia": "../typia-7.0.0-dev.20241122.tgz" } } \ No newline at end of file diff --git a/package.json b/package.json index 5ed978d9c2..b74d955e48 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typia", - "version": "7.0.0-dev.20241115", + "version": "7.0.0-dev.20241122", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -35,40 +35,6 @@ "type": "git", "url": "https://github.com/samchon/typia" }, - "keywords": [ - "fast", - "json", - "stringify", - "typescript", - "transform", - "ajv", - "io-ts", - "zod", - "schema", - "json-schema", - "generator", - "assert", - "clone", - "is", - "validate", - "equal", - "runtime", - "type", - "typebox", - "checker", - "validator", - "safe", - "parse", - "prune", - "random", - "protobuf", - "llm", - "llm-function-calling", - "openai", - "chatgpt", - "llama", - "gemini" - ], "author": "Jeongho Nam", "license": "MIT", "bugs": { @@ -76,7 +42,7 @@ }, "homepage": "https://typia.io", "dependencies": { - "@samchon/openapi": "2.0.0-dev.20241112", + "@samchon/openapi": "2.0.0-dev.20241122-2", "commander": "^10.0.0", "comment-json": "^4.2.3", "inquirer": "^8.2.5", @@ -115,5 +81,40 @@ "lib", "src" ], + "keywords": [ + "fast", + "json", + "stringify", + "typescript", + "transform", + "ajv", + "io-ts", + "zod", + "schema", + "json-schema", + "generator", + "assert", + "clone", + "is", + "validate", + "equal", + "runtime", + "type", + "typebox", + "checker", + "validator", + "safe", + "parse", + "prune", + "random", + "protobuf", + "llm", + "llm-function-calling", + "openai", + "chatgpt", + "llama", + "gemini", + "claude" + ], "private": true } \ No newline at end of file diff --git a/packages/typescript-json/README.md b/packages/typescript-json/README.md index af5e12a836..aeb2c3f9c2 100644 --- a/packages/typescript-json/README.md +++ b/packages/typescript-json/README.md @@ -26,9 +26,9 @@ export namespace json { // LLM FUNCTION CALLING APPLICATION export namespace llm { - // LLM function calling application from a class or interface type - export function application(): ILlmApplication; - export function schema(): ILlmSchema; // LLM type schema + // application from a class or interface type + export function application(): ILlmApplication; + export function schema(): ILlmSchema; // LLM type schema } // PROTOCOL BUFFER diff --git a/packages/typescript-json/package.json b/packages/typescript-json/package.json index 349062b7e2..c5ff8d48ef 100644 --- a/packages/typescript-json/package.json +++ b/packages/typescript-json/package.json @@ -1,6 +1,6 @@ { "name": "typescript-json", - "version": "7.0.0-dev.20241115", + "version": "7.0.0-dev.20241122", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -31,6 +31,29 @@ "type": "git", "url": "https://github.com/samchon/typia" }, + "author": "Jeongho Nam", + "license": "MIT", + "bugs": { + "url": "https://github.com/samchon/typia/issues" + }, + "homepage": "https://typia.io", + "dependencies": { + "typia": "7.0.0-dev.20241122" + }, + "peerDependencies": { + "typescript": ">=4.8.0 <5.7.0" + }, + "stackblitz": { + "startCommand": "npm install && npm run test" + }, + "sideEffects": false, + "files": [ + "LICENSE", + "README.md", + "package.json", + "lib", + "src" + ], "keywords": [ "fast", "json", @@ -63,29 +86,7 @@ "openai", "chatgpt", "llama", - "gemini" - ], - "author": "Jeongho Nam", - "license": "MIT", - "bugs": { - "url": "https://github.com/samchon/typia/issues" - }, - "homepage": "https://typia.io", - "dependencies": { - "typia": "7.0.0-dev.20241115" - }, - "peerDependencies": { - "typescript": ">=4.8.0 <5.7.0" - }, - "stackblitz": { - "startCommand": "npm install && npm run test" - }, - "sideEffects": false, - "files": [ - "LICENSE", - "README.md", - "package.json", - "lib", - "src" + "gemini", + "claude" ] } \ No newline at end of file diff --git a/src/internal/_llmApplicationFinalize.ts b/src/internal/_llmApplicationFinalize.ts index 8a10cc157b..3ff8c2539c 100644 --- a/src/internal/_llmApplicationFinalize.ts +++ b/src/internal/_llmApplicationFinalize.ts @@ -3,17 +3,36 @@ import { HttpLlmConverter } from "@samchon/openapi/lib/converters/HttpLlmConvert export const _llmApplicationFinalize = ( app: ILlmApplication, - options?: ILlmApplication.IOptions, + options?: Partial>, ): void => { - app.options = { - separate: options?.separate ?? null, - recursive: app.model === "chatgpt" ? undefined : (3 as any), - }; + app.options = ( + isChatGptOptions(app, options) + ? ({ + separate: options?.separate ?? null, + reference: options?.reference ?? false, + constraint: options?.constraint ?? false, + } satisfies ILlmApplication.IOptions<"chatgpt">) + : ({ + separate: (options?.separate ?? + null) as ILlmApplication.ICommonOptions< + Exclude + >["separate"], + recursive: + (options as ILlmApplication.IOptions<"3.0"> | undefined) + ?.recursive ?? 3, + } satisfies ILlmApplication.ICommonOptions>) + ) as ILlmApplication.IOptions; if (app.options.separate === null) return; for (const func of app.functions) func.separated = HttpLlmConverter.separateParameters({ model: app.model, parameters: func.parameters, - predicate: app.options.separate, + predicate: app.options + .separate as ILlmApplication.IOptions["separate"] as any, }); }; + +const isChatGptOptions = ( + app: ILlmApplication, + _options: unknown, +): _options is ILlmApplication.IOptions<"chatgpt"> => app.model === "chatgpt"; diff --git a/src/llm.ts b/src/llm.ts index 5881dfd497..0a99cd04b5 100644 --- a/src/llm.ts +++ b/src/llm.ts @@ -1,4 +1,4 @@ -import { ILlmApplication } from "@samchon/openapi"; +import { IChatGptSchema, ILlmApplication } from "@samchon/openapi"; /** * > You must configure the generic argument `App`. @@ -82,7 +82,7 @@ export function application( */ export function application< App extends object, - Model extends ILlmApplication.Model = "3.1", + Model extends ILlmApplication.Model, >( options?: Partial, "recursive">>, ): ILlmApplication; @@ -164,14 +164,14 @@ export function schema(): never; * * @template T Target type * @template Model LLM schema model + * @param $defs Definitions of named schemas if the model is `chatgpt` * @returns LLM schema * @reference https://platform.openai.com/docs/guides/function-calling * @author Jeongho Nam - https://github.com/samchon */ -export function schema< - T, - Model extends ILlmApplication.Model = "3.1", ->(): ILlmApplication.ModelSchema[Model]; +export function schema( + ...$defs: Model extends "chatgpt" ? [Record] : [] +): ILlmApplication.ModelSchema[Model]; /** * @internal diff --git a/src/programmers/llm/LlmApplicationProgrammer.ts b/src/programmers/llm/LlmApplicationProgrammer.ts index 4a88fb9148..58857c5d96 100644 --- a/src/programmers/llm/LlmApplicationProgrammer.ts +++ b/src/programmers/llm/LlmApplicationProgrammer.ts @@ -1,13 +1,18 @@ -import { ILlmApplication } from "@samchon/openapi"; +import { IChatGptSchema, ILlmApplication, OpenApi } from "@samchon/openapi"; +import { ChatGptConverter } from "@samchon/openapi/lib/converters/ChatGptConverter"; +import { GeminiConverter } from "@samchon/openapi/lib/converters/GeminiConverter"; +import { LlmConverterV3 } from "@samchon/openapi/lib/converters/LlmConverterV3"; +import { LlmConverterV3_1 } from "@samchon/openapi/lib/converters/LlmConverterV3_1"; import { ILlmFunction } from "@samchon/openapi/lib/structures/ILlmFunction"; import { MetadataFactory } from "../../factories/MetadataFactory"; -import { IJsDocTagInfo } from "../../schemas/metadata/IJsDocTagInfo"; import { Metadata } from "../../schemas/metadata/Metadata"; import { MetadataFunction } from "../../schemas/metadata/MetadataFunction"; import { MetadataObjectType } from "../../schemas/metadata/MetadataObjectType"; +import { IJsonApplication } from "../../module"; +import { JsonApplicationProgrammer } from "../json/JsonApplicationProgrammer"; import { LlmSchemaProgrammer } from "./LlmSchemaProgrammer"; export namespace LlmApplicationProgrammer { @@ -101,175 +106,190 @@ export namespace LlmApplicationProgrammer { if (errors.length) throw new Error("Failed to write LLM application: " + errors.join("\n")); - const object: MetadataObjectType = props.metadata.objects[0]!.type; + const application: IJsonApplication<"3.1"> = + JsonApplicationProgrammer.write({ + version: "3.1", + metadata: props.metadata, + }); return { model: props.model, - functions: object.properties - .filter( - (p) => - p.value.functions.length === 1 && - p.value.size() === 1 && - p.key.isSoleLiteral(), - ) - .filter( - (p) => p.jsDocTags.find((tag) => tag.name === "hidden") === undefined, - ) - .map((p) => - writeFunction({ - model: props.model, - name: p.key.getSoleLiteral()!, - function: p.value.functions[0]!, - description: p.description, - jsDocTags: p.jsDocTags, - }), - ), - options: { - separate: null, - recursive: props.model === "chatgpt" ? undefined : (3 as any), - }, - }; - }; - - const writeFunction = (props: { - model: Model; - name: string; - function: MetadataFunction; - description: string | null; - jsDocTags: IJsDocTagInfo[]; - }): ILlmFunction => { - const deprecated: boolean = props.jsDocTags.some( - (tag) => tag.name === "deprecated", - ); - const tags: string[] = props.jsDocTags - .map((tag) => - tag.name === "tag" - ? (tag.text?.filter((elem) => elem.kind === "text") ?? []) - : [], - ) - .flat() - .map((elem) => elem.text) - .map((str) => str.trim().split(" ")[0] ?? "") - .filter((str) => !!str.length); - return { - name: props.name, - parameters: props.function.parameters.map((p) => { - const jsDocTagDescription: string | null = writeDescriptionFromJsDocTag( - { - jsDocTags: p.jsDocTags, - name: "param", - parameter: p.name, - }, - ); - return writeSchema({ + functions: application.functions.map((func) => + writeFunction({ model: props.model, - metadata: p.type, - description: jsDocTagDescription ?? p.description, - jsDocTags: jsDocTagDescription ? [] : p.jsDocTags, - }); - }), - output: - props.function.output.size() || props.function.output.nullable - ? writeSchema({ - model: props.model, - metadata: props.function.output, - description: - writeDescriptionFromJsDocTag({ - jsDocTags: props.jsDocTags, - name: "return", - }) ?? - writeDescriptionFromJsDocTag({ - jsDocTags: props.jsDocTags, - name: "returns", - }), - jsDocTags: [], - }) - : undefined, - description: props.description ?? undefined, - deprecated: deprecated || undefined, - tags: tags.length ? tags : undefined, + components: application.components, + function: func, + }), + ), + options: (props.model === "chatgpt" + ? ({ + separate: null, + reference: false, + constraint: false, + } satisfies ILlmApplication.IOptions<"chatgpt">) + : ({ + separate: null, + recursive: props.model === "chatgpt" ? undefined : (3 as any), + } satisfies ILlmApplication.ICommonOptions< + Exclude + >)) as ILlmApplication.IOptions, }; }; - const writeSchema = (props: { + const writeFunction = (props: { model: Model; - metadata: Metadata; - description: string | null; - jsDocTags: IJsDocTagInfo[]; - }): ILlmApplication.ModelSchema[Model] => { - const schema: ILlmApplication.ModelSchema[Model] = - LlmSchemaProgrammer.write(props); - const explicit: Pick< - ILlmApplication.ModelSchema[Model], - "title" | "description" - > = writeDescription({ + components: OpenApi.IComponents; + function: IJsonApplication.IFunction; + }): ILlmFunction => { + const parameters: ILlmApplication.ModelParameters[Model] = + writeParameters(props); + const output: ILlmApplication.ModelSchema[Model] | null = writeOutput({ model: props.model, - description: props.description, - jsDocTags: props.jsDocTags, + parameters, + components: props.components, + schema: props.function.output?.schema ?? null, }); + if ( + output && + output.description === undefined && + !!props.function.output?.description?.length + ) + output.description = props.function.output.description; return { - ...schema, - ...(!!explicit.title?.length || !!explicit.description?.length - ? explicit - : {}), + name: props.function.name, + parameters, + output: (output ?? undefined) as + | ILlmApplication.ModelParameters[Model]["properties"][string] + | undefined, + description: (() => { + if ( + !props.function.summary?.length || + !props.function.description?.length + ) + return props.function.summary || props.function.description; + const summary: string = props.function.summary.endsWith(".") + ? props.function.summary.slice(0, -1) + : props.function.summary; + return props.function.description.startsWith(summary) + ? props.function.description + : summary + ".\n\n" + props.function.description; + })(), + deprecated: props.function.deprecated, + tags: props.function.tags, + strict: true, }; }; - const writeDescription = (props: { + const writeParameters = (props: { model: Model; - description: string | null; - jsDocTags: IJsDocTagInfo[]; - }): Pick => { - const title: string | undefined = (() => { - const [explicit] = getJsDocTexts({ - jsDocTags: props.jsDocTags, - name: "title", - }); - if (explicit?.length) return explicit; - else if (!props.description?.length) return undefined; - - const index: number = props.description.indexOf("\n"); - const top: string = ( - index === -1 ? props.description : props.description.substring(0, index) - ).trim(); - return top.endsWith(".") ? top.substring(0, top.length - 1) : undefined; + components: OpenApi.IComponents; + function: IJsonApplication.IFunction; + }): ILlmApplication.ModelParameters[Model] => { + const schema: OpenApi.IJsonSchema.IObject = { + type: "object", + properties: Object.fromEntries( + props.function.parameters.map((p) => [ + p.name, + { + ...p.schema, + title: p.title ?? p.schema.title, + description: p.description ?? p.schema.description, + }, + ]), + ), + required: props.function.parameters + .filter((p) => p.required) + .map((p) => p.name), + additionalProperties: false, + }; + const parameters: ILlmApplication.ModelParameters[Model] | null = (() => { + if (props.model === "chatgpt") + return ChatGptConverter.parameters({ + options: DEFAULT_CHATGPT_OPTION, + components: props.components, + schema, + }); + else if (props.model === "gemini") + return GeminiConverter.parameters({ + recursive: DEFAULT_V3_OPTIONS.recursive, + components: props.components, + schema, + }) as ILlmApplication.ModelParameters[Model] | null; + else if (props.model === "3.0") + return LlmConverterV3.parameters({ + recursive: DEFAULT_V3_OPTIONS.recursive, + components: props.components, + schema, + }) as ILlmApplication.ModelParameters[Model] | null; + else if (props.model === "3.1") + return LlmConverterV3_1.parameters({ + recursive: DEFAULT_V3_OPTIONS.recursive, + components: props.components, + schema, + }) as ILlmApplication.ModelParameters[Model] | null; + else return null; })(); - return { - title: title, - description: props.description?.length ? props.description : undefined, - } as any; + if (parameters === null) + throw new Error("Failed to write LLM application parameters."); + return parameters; }; - const writeDescriptionFromJsDocTag = (props: { - jsDocTags: IJsDocTagInfo[]; - name: string; - parameter?: string; - }): string | null => { - const parametric: (elem: IJsDocTagInfo) => boolean = props.parameter - ? (tag) => - tag.text!.find( - (elem) => - elem.kind === "parameterName" && elem.text === props.parameter, - ) !== undefined - : () => true; - const tag: IJsDocTagInfo | undefined = props.jsDocTags.find( - (tag) => tag.name === props.name && tag.text && parametric(tag), - ); - return tag && tag.text - ? (tag.text.find((elem) => elem.kind === "text")?.text ?? null) - : null; + const writeOutput = (props: { + model: Model; + parameters: ILlmApplication.ModelParameters[Model]; + components: OpenApi.IComponents; + schema: OpenApi.IJsonSchema | null; + }): ILlmApplication.ModelSchema[Model] | null => { + if (props.schema === null) return null; + const output: ILlmApplication.ModelSchema[Model] | null = (() => { + if (props.model === "chatgpt") { + const $defs = + (props.parameters as IChatGptSchema.IParameters).$defs ?? {}; + const output: IChatGptSchema | null = ChatGptConverter.schema({ + options: DEFAULT_CHATGPT_OPTION, + components: props.components, + $defs, + schema: props.schema, + }); + if ( + output !== null && + (props.parameters as IChatGptSchema.IParameters).$defs === + undefined && + Object.keys($defs).length !== 0 + ) + (props.parameters as IChatGptSchema.IParameters).$defs = $defs; + return output; + } else if (props.model === "gemini") + return GeminiConverter.schema({ + recursive: DEFAULT_V3_OPTIONS.recursive, + components: props.components, + schema: props.schema, + }) as ILlmApplication.ModelSchema[Model] | null; + else if (props.model === "3.0") + return LlmConverterV3.schema({ + recursive: DEFAULT_V3_OPTIONS.recursive, + components: props.components, + schema: props.schema, + }) as ILlmApplication.ModelSchema[Model] | null; + else if (props.model === "3.1") + return LlmConverterV3_1.schema({ + recursive: DEFAULT_V3_OPTIONS.recursive, + components: props.components, + schema: props.schema, + }) as ILlmApplication.ModelSchema[Model] | null; + else return null; + })(); + if (output === null) + throw new Error("Failed to write LLM application output."); + return output; }; - - const getJsDocTexts = (props: { - jsDocTags: IJsDocTagInfo[]; - name: string; - }): string[] => - props.jsDocTags - .filter( - (tag) => - tag.name === props.name && - tag.text && - tag.text.find((elem) => elem.kind === "text" && elem.text.length) !== - undefined, - ) - .map((tag) => tag.text!.find((elem) => elem.kind === "text")!.text); } + +const DEFAULT_CHATGPT_OPTION: ILlmApplication.IChatGptOptions = { + separate: null, + reference: false, + constraint: false, +}; +const DEFAULT_V3_OPTIONS = { + separate: null, + recursive: 3, +} satisfies ILlmApplication.ICommonOptions<"3.0">; diff --git a/src/programmers/llm/LlmSchemaProgrammer.ts b/src/programmers/llm/LlmSchemaProgrammer.ts index 60729a1775..cefc93198d 100644 --- a/src/programmers/llm/LlmSchemaProgrammer.ts +++ b/src/programmers/llm/LlmSchemaProgrammer.ts @@ -1,5 +1,13 @@ -import { ILlmApplication } from "@samchon/openapi"; -import { HttpLlmConverter } from "@samchon/openapi/lib/converters/HttpLlmConverter"; +import { + IChatGptSchema, + IHttpLlmApplication, + ILlmApplication, + OpenApi, +} from "@samchon/openapi"; +import { ChatGptConverter } from "@samchon/openapi/lib/converters/ChatGptConverter"; +import { GeminiConverter } from "@samchon/openapi/lib/converters/GeminiConverter"; +import { LlmConverterV3 } from "@samchon/openapi/lib/converters/LlmConverterV3"; +import { LlmConverterV3_1 } from "@samchon/openapi/lib/converters/LlmConverterV3_1"; import { IJsonSchemaCollection } from "../../schemas/json/IJsonSchemaCollection"; import { Metadata } from "../../schemas/metadata/Metadata"; @@ -13,25 +21,42 @@ import { json_schema_string } from "../internal/json_schema_string"; import { JsonSchemasProgrammer } from "../json/JsonSchemasProgrammer"; export namespace LlmSchemaProgrammer { + export interface IOutput { + model: Model; + schema: ILlmApplication.ModelSchema[Model]; + $defs: Record; + } export const write = (props: { model: Model; metadata: Metadata; - }): ILlmApplication.ModelSchema[Model] => { + }): IOutput => { const collection: IJsonSchemaCollection<"3.1"> = JsonSchemasProgrammer.write({ version: "3.1", metadatas: [props.metadata], }); - const schema: ILlmApplication.ModelSchema[Model] | null = - HttpLlmConverter.schema({ - model: props.model, - components: collection.components, - schema: collection.schemas[0]!, + + const $defs: Record = {}; + const schema: ILlmApplication.ModelSchema[Model] | null = CASTERS[ + props.model + ]({ + options: { recursive: 3, - }); + reference: false, + constraint: false, + } satisfies Omit & + Omit, "separate"> as any, + components: collection.components, + schema: collection.schemas[0]!, + $defs, + }) as ILlmApplication.ModelSchema[Model] | null; if (schema === null) throw new Error("Failed to convert JSON schema to LLM schema."); - return schema; + return { + model: props.model, + $defs, + schema, + }; }; export const validate = @@ -64,13 +89,6 @@ export namespace LlmSchemaProgrammer { output.push(`LLM schema does not support ${native.name} type.`); if (model === "gemini" && size(metadata) > 1) output.push("Gemini model does not support the union type."); - // if ( - // metadata.aliases.some((a) => a.type.recursive) || - // metadata.arrays.some((a) => a.type.recursive) || - // metadata.objects.some((o) => o.type.recursive) || - // metadata.tuples.some((t) => t.type.recursive) - // ) - // output.push("LLM schema does not support recursive type."); return output; }; } @@ -112,3 +130,48 @@ const size = (metadata: Metadata): number => }).length, ) .reduce((a, b) => a + b, 0); + +const CASTERS = { + "3.0": (props: { + components: OpenApi.IComponents; + schema: OpenApi.IJsonSchema; + options: IHttpLlmApplication.IOptions<"3.0">; + }) => + LlmConverterV3.schema({ + components: props.components, + schema: props.schema, + recursive: props.options.recursive, + }), + "3.1": (props: { + components: OpenApi.IComponents; + schema: OpenApi.IJsonSchema; + options: IHttpLlmApplication.IOptions<"3.1">; + }) => + LlmConverterV3_1.schema({ + components: props.components, + schema: props.schema, + recursive: props.options.recursive, + }), + chatgpt: (props: { + components: OpenApi.IComponents; + schema: OpenApi.IJsonSchema; + $defs: Record; + options: Omit; + }) => + ChatGptConverter.schema({ + components: props.components, + schema: props.schema, + $defs: props.$defs, + options: props.options, + }), + gemini: (props: { + components: OpenApi.IComponents; + schema: OpenApi.IJsonSchema; + options: IHttpLlmApplication.IOptions<"gemini">; + }) => + GeminiConverter.schema({ + components: props.components, + schema: props.schema, + recursive: props.options.recursive, + }), +}; diff --git a/src/transformers/features/llm/LlmSchemaTransformer.ts b/src/transformers/features/llm/LlmSchemaTransformer.ts index 3a5bbc64ea..a6c0932dd3 100644 --- a/src/transformers/features/llm/LlmSchemaTransformer.ts +++ b/src/transformers/features/llm/LlmSchemaTransformer.ts @@ -1,6 +1,7 @@ import { ILlmApplication } from "@samchon/openapi"; import ts from "typescript"; +import { IdentifierFactory } from "../../../factories/IdentifierFactory"; import { LiteralFactory } from "../../../factories/LiteralFactory"; import { MetadataCollection } from "../../../factories/MetadataCollection"; import { MetadataFactory } from "../../../factories/MetadataFactory"; @@ -66,12 +67,45 @@ export namespace LlmSchemaTransformer { }); // GENERATE LLM SCHEMA - const schema: ILlmApplication.ModelSchema[ILlmApplication.Model] = - LlmSchemaProgrammer.write({ - model, - metadata: result.data, - }); - return LiteralFactory.write(schema); + const out: LlmSchemaProgrammer.IOutput = LlmSchemaProgrammer.write({ + model, + metadata: result.data, + }); + if (Object.keys(out.$defs).length === 0) + return LiteralFactory.write(out.schema); + return ts.factory.createCallExpression( + ts.factory.createArrowFunction( + undefined, + undefined, + [ + IdentifierFactory.parameter( + "$defs", + ts.factory.createTypeReferenceNode("Record"), + undefined, + ), + ], + undefined, + undefined, + ts.factory.createBlock( + [ + ts.factory.createExpressionStatement( + ts.factory.createCallExpression( + ts.factory.createIdentifier("Object.assign"), + undefined, + [ + ts.factory.createIdentifier("$defs"), + LiteralFactory.write(out.$defs), + ], + ), + ), + ts.factory.createReturnStatement(LiteralFactory.write(out.schema)), + ], + true, + ), + ), + undefined, + [props.expression.arguments[0]!], + ); }; const get_parameter = diff --git a/test-error/package.json b/test-error/package.json index df92108c33..5a2cf9cfcc 100644 --- a/test-error/package.json +++ b/test-error/package.json @@ -32,6 +32,6 @@ "typescript": "^5.3.2" }, "dependencies": { - "typia": "../typia-7.0.0-dev.20241115.tgz" + "typia": "../typia-7.0.0-dev.20241122.tgz" } } \ No newline at end of file diff --git a/test-esm/package.json b/test-esm/package.json index ef9c971b02..d4c8eff4b9 100644 --- a/test-esm/package.json +++ b/test-esm/package.json @@ -36,6 +36,6 @@ "typescript": "^5.4.5" }, "dependencies": { - "typia": "../typia-7.0.0-dev.20241115.tgz" + "typia": "../typia-7.0.0-dev.20241122.tgz" } } \ No newline at end of file diff --git a/test/build/internal/TestJsonApplicationGenerator.ts b/test/build/internal/TestJsonApplicationGenerator.ts new file mode 100644 index 0000000000..043192a5ae --- /dev/null +++ b/test/build/internal/TestJsonApplicationGenerator.ts @@ -0,0 +1,104 @@ +import cp from "child_process"; +import fs from "fs"; + +import { TestStructure } from "./TestStructure"; + +export namespace TestJsonApplicationGenerator { + export async function generate( + structures: TestStructure[], + ): Promise { + const location: string = `${__dirname}/../../src/features/json.application`; + if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); + await fs.promises.mkdir(location); + + for (const version of ["3.0", "3.1"] as const) + await functor(structures, version); + } + + async function functor( + structures: TestStructure[], + version: "3.0" | "3.1", + ): Promise { + const title: string = `v${version.replace(".", "_")}`; + const path: string = `${__dirname}/../../src/features/json.application/${title}`; + await fs.promises.mkdir(path); + + for (const s of structures) { + if (s.JSONABLE === false) continue; + + const content: string[] = [ + `import typia from "typia";`, + `import { ${s.name} } from "../../../structures/${s.name}";`, + `import { _test_json_application } from "../../../internal/_test_json_application";`, + "", + `export const test_json_application_${title}_${s.name} = `, + ` _test_json_application({`, + ` version: "${version}",`, + ` name: "${s.name}", `, + ` })(`, + ` typia.json.application<${s.name}Application, "${version}">()`, + ` );`, + ``, + `interface ${s.name}Application {`, + ` insert(first: ${s.name}): Promise;`, + ` reduce(first: ${s.name}, second: ${s.name} | null): Promise<${s.name}>;`, + ` coalesce(`, + ` first: ${s.name} | null,`, + ` second: ${s.name} | null,`, + ` third?: ${s.name} | null,`, + ` ): Promise<${s.name} | null>;`, + `}`, + ]; + await fs.promises.writeFile( + `${__dirname}/../../src/features/json.application/${title}/test_json_application_${title}_${s.name}.ts`, + content.join("\n"), + "utf8", + ); + } + } + + export async function schemas(): Promise { + const location: string = `${__dirname}/../../schemas/json.application`; + await mkdir(location); + + for (const version of ["3.0", "3.1"] as const) await iterate(version); + } + + function getSchema(content: string): object { + const first: number = content.lastIndexOf("})({") + 4; + const last: number = content.lastIndexOf("}"); + return new Function("return {" + content.substring(first, last) + "}")(); + } + + async function iterate(version: "3.0" | "3.1") { + const title: string = `v${version.replace(".", "_")}`; + const path: string = `${__dirname}/../../src/features/json.application/${title}`; + const schemaPath: string = `${__dirname}/../../schemas/json.application/${title}`; + await mkdir(schemaPath); + + for (const file of await fs.promises.readdir(path)) { + if (file.substring(file.length - 3) !== ".ts") continue; + + const name: string = file.substring( + `test_json_application_${title}_`.length, + file.length - 3, + ); + const location: string = + __dirname + + `/../../bin/features/json.application/${title}/${file.slice(0, -3)}.js`; + const schema: object = getSchema( + await fs.promises.readFile(location, "utf8"), + ); + await fs.promises.writeFile( + `${schemaPath}/${name}.json`, + JSON.stringify(schema, null, 2), + "utf8", + ); + } + } + + async function mkdir(path: string): Promise { + if (fs.existsSync(path)) cp.execSync(`npx rimraf ${path}`); + await fs.promises.mkdir(path); + } +} diff --git a/test/build/internal/TestJsonSchemaGenerator.ts b/test/build/internal/TestJsonSchemaGenerator.ts deleted file mode 100644 index f7337c052f..0000000000 --- a/test/build/internal/TestJsonSchemaGenerator.ts +++ /dev/null @@ -1,92 +0,0 @@ -import cp from "child_process"; -import fs from "fs"; - -import { TestStructure } from "./TestStructure"; - -export namespace TestJsonSchemaGenerator { - export async function generate( - structures: TestStructure[], - ): Promise { - const location: string = `${__dirname}/../../src/features/json.schemas`; - if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); - await fs.promises.mkdir(location); - - for (const version of ["3.0", "3.1"] as const) - await functor(structures, version); - } - - async function functor( - structures: TestStructure[], - version: "3.0" | "3.1", - ): Promise { - const title: string = `v${version.replace(".", "_")}`; - const path: string = `${__dirname}/../../src/features/json.schemas/${title}`; - await fs.promises.mkdir(path); - - for (const s of structures) { - if (s.JSONABLE === false) continue; - - const content: string[] = [ - `import typia from "typia";`, - `import { ${s.name} } from "../../../structures/${s.name}";`, - `import { _test_json_schemas } from "../../../internal/_test_json_schemas";`, - "", - `export const test_json_schemas_${title}_${s.name} = `, - ` _test_json_schemas({`, - ` version: "${version}",`, - ` name: "${s.name}", `, - ` })(typia.json.schemas<[${s.name}], "${version}">());`, - ]; - await fs.promises.writeFile( - `${__dirname}/../../src/features/json.schemas/${title}/test_json_schemas_${title}_${s.name}.ts`, - content.join("\n"), - "utf8", - ); - } - } - - export async function schemas(): Promise { - const location: string = `${__dirname}/../../schemas/json`; - await mkdir(location); - - for (const version of ["3.0", "3.1"] as const) await iterate(version); - } - - function getSchema(content: string): object { - const first: number = content.lastIndexOf("})({") + 4; - const last: number = content.lastIndexOf("}"); - return new Function("return {" + content.substring(first, last) + "}")(); - } - - async function iterate(version: "3.0" | "3.1") { - const title: string = `v${version.replace(".", "_")}`; - const path: string = `${__dirname}/../../src/features/json.schemas/${title}`; - const schemaPath: string = `${__dirname}/../../schemas/json/${title}`; - await mkdir(schemaPath); - - for (const file of await fs.promises.readdir(path)) { - if (file.substring(file.length - 3) !== ".ts") continue; - - const name: string = file.substring( - `test_json_schemas_${title}_`.length, - file.length - 3, - ); - const location: string = - __dirname + - `/../../bin/features/json.schemas/${title}/${file.slice(0, -3)}.js`; - const schema: object = getSchema( - await fs.promises.readFile(location, "utf8"), - ); - await fs.promises.writeFile( - `${schemaPath}/${name}.json`, - JSON.stringify(schema, null, 2), - "utf8", - ); - } - } - - async function mkdir(path: string): Promise { - if (fs.existsSync(path)) cp.execSync(`npx rimraf ${path}`); - await fs.promises.mkdir(path); - } -} diff --git a/test/build/internal/TestJsonSchemasGenerator.ts b/test/build/internal/TestJsonSchemasGenerator.ts new file mode 100644 index 0000000000..c9ce407616 --- /dev/null +++ b/test/build/internal/TestJsonSchemasGenerator.ts @@ -0,0 +1,92 @@ +import cp from "child_process"; +import fs from "fs"; + +import { TestStructure } from "./TestStructure"; + +export namespace TestJsonSchemasGenerator { + export async function generate( + structures: TestStructure[], + ): Promise { + const location: string = `${__dirname}/../../src/features/json.schemas`; + if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); + await fs.promises.mkdir(location); + + for (const version of ["3.0", "3.1"] as const) + await functor(structures, version); + } + + async function functor( + structures: TestStructure[], + version: "3.0" | "3.1", + ): Promise { + const title: string = `v${version.replace(".", "_")}`; + const path: string = `${__dirname}/../../src/features/json.schemas/${title}`; + await fs.promises.mkdir(path); + + for (const s of structures) { + if (s.JSONABLE === false) continue; + + const content: string[] = [ + `import typia from "typia";`, + `import { ${s.name} } from "../../../structures/${s.name}";`, + `import { _test_json_schemas } from "../../../internal/_test_json_schemas";`, + "", + `export const test_json_schemas_${title}_${s.name} = `, + ` _test_json_schemas({`, + ` version: "${version}",`, + ` name: "${s.name}", `, + ` })(typia.json.schemas<[${s.name}], "${version}">());`, + ]; + await fs.promises.writeFile( + `${__dirname}/../../src/features/json.schemas/${title}/test_json_schemas_${title}_${s.name}.ts`, + content.join("\n"), + "utf8", + ); + } + } + + export async function schemas(): Promise { + const location: string = `${__dirname}/../../schemas/json.schemas`; + await mkdir(location); + + for (const version of ["3.0", "3.1"] as const) await iterate(version); + } + + function getSchema(content: string): object { + const first: number = content.lastIndexOf("})({") + 4; + const last: number = content.lastIndexOf("}"); + return new Function("return {" + content.substring(first, last) + "}")(); + } + + async function iterate(version: "3.0" | "3.1") { + const title: string = `v${version.replace(".", "_")}`; + const path: string = `${__dirname}/../../src/features/json.schemas/${title}`; + const schemaPath: string = `${__dirname}/../../schemas/json.schemas/${title}`; + await mkdir(schemaPath); + + for (const file of await fs.promises.readdir(path)) { + if (file.substring(file.length - 3) !== ".ts") continue; + + const name: string = file.substring( + `test_json_schemas_${title}_`.length, + file.length - 3, + ); + const location: string = + __dirname + + `/../../bin/features/json.schemas/${title}/${file.slice(0, -3)}.js`; + const schema: object = getSchema( + await fs.promises.readFile(location, "utf8"), + ); + await fs.promises.writeFile( + `${schemaPath}/${name}.json`, + JSON.stringify(schema, null, 2), + "utf8", + ); + } + } + + async function mkdir(path: string): Promise { + if (fs.existsSync(path)) cp.execSync(`npx rimraf ${path}`); + await fs.promises.mkdir(path); + } +} diff --git a/test/build/internal/TestLlmApplicationGenerator.ts b/test/build/internal/TestLlmApplicationGenerator.ts new file mode 100644 index 0000000000..60122dfccc --- /dev/null +++ b/test/build/internal/TestLlmApplicationGenerator.ts @@ -0,0 +1,124 @@ +import cp from "child_process"; +import fs from "fs"; + +import { TestStructure } from "./TestStructure"; + +export namespace TestLlmApplicationGenerator { + export async function generate( + structures: TestStructure[], + ): Promise { + const location: string = `${__dirname}/../../src/features/llm.application`; + if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); + await fs.promises.mkdir(location); + for (const model of MODELS) { + await fs.promises.mkdir(`${location}/${model}`); + await application(model, structures); + } + } + + async function application( + model: string, + structures: TestStructure[], + ): Promise { + for (const s of structures) { + if (s.name === "UltimateUnion") + continue; // TOO MUCH LARGE + else if ( + fs.existsSync( + `${__dirname}/../../schemas/json.schemas/v3_1/${s.name}.json`, + ) === false + ) + continue; + else if (model === "chatgpt") { + // CHATGPT DOES NOT SUPPORT TUPLE TYPE + const json: string = await fs.promises.readFile( + `${__dirname}/../../schemas/json.schemas/v3_1/${s.name}.json`, + "utf8", + ); + if (json.includes(`"prefixItems":`) === true) continue; + } else if (model === "gemini") { + // GEMINI DOES NOT SUPPORT UNION TYPE + const json: string = await fs.promises.readFile( + `${__dirname}/../../schemas/json.schemas/v3_0/${s.name}.json`, + "utf8", + ); + if (json.includes(`"oneOf":`) === true) continue; + } + const content: string[] = [ + `import typia from "typia";`, + `import { ${s.name} } from "../../../structures/${s.name}";`, + `import { _test_llm_application } from "../../../internal/_test_llm_application";`, + "", + `export const test_llm_application_${model.replace(".", "_")}_${s.name} = `, + ` _test_llm_application({`, + ` model: ${JSON.stringify(model)},`, + ` name: ${JSON.stringify(s.name)},`, + ` })(`, + ` typia.llm.application<${s.name}Application, ${JSON.stringify(model)}>(),`, + ` );`, + ``, + `interface ${s.name}Application {`, + ` insert(first: ${s.name}): Promise;`, + ` reduce(first: ${s.name}, second: ${s.name} | null): Promise<${s.name}>;`, + ` coalesce(`, + ` first: ${s.name} | null,`, + ` second: ${s.name} | null,`, + ` third?: ${s.name} | null,`, + ` ): Promise<${s.name} | null>;`, + `}`, + ]; + await fs.promises.writeFile( + `${__dirname}/../../src/features/llm.application/${model}/test_llm_application_${model.replace(".", "_")}_${s.name}.ts`, + content.join("\n"), + "utf8", + ); + } + } + + export async function schemas(): Promise { + const location: string = `${__dirname}/../../schemas/llm.application`; + if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); + await mkdir(location); + for (const model of MODELS) { + await mkdir(`${location}/${model}`); + await iterate(model); + } + } + + function getSchema(content: string): object { + const first: number = content.lastIndexOf(`})({`) + 4; + const last: number = content.lastIndexOf("}"); + return new Function("return {" + content.substring(first, last) + "}")(); + } + + async function iterate(model: string): Promise { + const path: string = `${__dirname}/../../src/features/llm.application/${model}`; + const schemaPath: string = `${__dirname}/../../schemas/llm.application/${model}`; + for (const file of await fs.promises.readdir(path)) { + if (file.substring(file.length - 3) !== ".ts") continue; + + const name: string = file.substring( + `test_llm_application_${model.replace(".", "_")}_`.length, + file.length - 3, + ); + const location: string = + __dirname + + `/../../bin/features/llm.application/${model}/${file.slice(0, -3)}.js`; + const schema: object = getSchema( + await fs.promises.readFile(location, "utf8"), + ); + await fs.promises.writeFile( + `${schemaPath}/${name}.json`, + JSON.stringify(schema, null, 2), + "utf8", + ); + } + } + + async function mkdir(path: string): Promise { + if (fs.existsSync(path)) cp.execSync(`npx rimraf ${path}`); + await fs.promises.mkdir(path, { recursive: true }); + } +} + +const MODELS = ["3.0", "3.1", "chatgpt", "gemini"]; diff --git a/test/build/internal/TestLlmSchemaGenerator.ts b/test/build/internal/TestLlmSchemaGenerator.ts index ab19db15a7..d65ace6305 100644 --- a/test/build/internal/TestLlmSchemaGenerator.ts +++ b/test/build/internal/TestLlmSchemaGenerator.ts @@ -21,11 +21,25 @@ export namespace TestLlmSchemaGenerator { structures: TestStructure[], ): Promise { for (const s of structures) { - if (s.JSONABLE === false) continue; - else if (model !== "chatgpt" && s.RECURSIVE === true) continue; - else if (model === "gemini") { + if (s.name === "UltimateUnion") + continue; // TOO MUCH LARGE + else if ( + fs.existsSync( + `${__dirname}/../../schemas/json.schemas/v3_1/${s.name}.json`, + ) === false + ) + continue; + else if (model === "chatgpt") { + // CHATGPT DOES NOT SUPPORT TUPLE TYPE const json: string = await fs.promises.readFile( - `${__dirname}/../../schemas/json/v3_0/${s.name}.json`, + `${__dirname}/../../schemas/json.schemas/v3_1/${s.name}.json`, + "utf8", + ); + if (json.includes(`"prefixItems":`) === true) continue; + } else if (model === "gemini") { + // GEMINI DOES NOT SUPPORT UNION TYPE + const json: string = await fs.promises.readFile( + `${__dirname}/../../schemas/json.schemas/v3_0/${s.name}.json`, "utf8", ); if (json.includes(`"oneOf":`) === true) continue; @@ -39,7 +53,7 @@ export namespace TestLlmSchemaGenerator { ` _test_llm_schema({`, ` model: ${JSON.stringify(model)},`, ` name: ${JSON.stringify(s.name)},`, - ` })(typia.llm.schema<${s.name}, ${JSON.stringify(model)}>());`, + ` })(typia.llm.schema<${s.name}, ${JSON.stringify(model)}>(${model === "chatgpt" ? "{}" : ""}));`, ]; await fs.promises.writeFile( `${__dirname}/../../src/features/llm.schema/${model}/test_llm_schema_${model.replace(".", "_")}_${s.name}.ts`, @@ -50,7 +64,7 @@ export namespace TestLlmSchemaGenerator { } export async function schemas(): Promise { - const location: string = `${__dirname}/../../schemas/llm`; + const location: string = `${__dirname}/../../schemas/llm.schema`; if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); await mkdir(location); for (const model of MODELS) { @@ -67,7 +81,7 @@ export namespace TestLlmSchemaGenerator { async function iterate(model: string): Promise { const path: string = `${__dirname}/../../src/features/llm.schema/${model}`; - const schemaPath: string = `${__dirname}/../../schemas/llm/${model}`; + const schemaPath: string = `${__dirname}/../../schemas/llm.schema/${model}`; for (const file of await fs.promises.readdir(path)) { if (file.substring(file.length - 3) !== ".ts") continue; diff --git a/test/build/template.ts b/test/build/template.ts index 28ee339b56..2318cdc798 100644 --- a/test/build/template.ts +++ b/test/build/template.ts @@ -2,7 +2,9 @@ import cp from "child_process"; import fs from "fs"; import { TestFeature } from "./internal/TestFeature"; -import { TestJsonSchemaGenerator } from "./internal/TestJsonSchemaGenerator"; +import { TestJsonApplicationGenerator } from "./internal/TestJsonApplicationGenerator"; +import { TestJsonSchemasGenerator } from "./internal/TestJsonSchemasGenerator"; +import { TestLlmApplicationGenerator } from "./internal/TestLlmApplicationGenerator"; import { TestLlmSchemaGenerator } from "./internal/TestLlmSchemaGenerator"; import { TestProtobufMessageGenerator } from "./internal/TestProtobufMessageGenerator"; import { TestReflectMetadataGenerator } from "./internal/TestReflectMetadataGenerator"; @@ -138,11 +140,9 @@ function script( async function main(): Promise { process.chdir(__dirname + "/.."); - cp.execSync("npx rimraf src/generated"); - - const structures: TestStructure[] = await load(); // NORMAL FEATURES + const structures: TestStructure[] = await load(); const featureList: TestFeature[] = [ ...TestFeature.DATA, ...TestFeature.DATA.filter((f) => @@ -162,20 +162,25 @@ async function main(): Promise { if (fs.existsSync(schemas)) cp.execSync(`npx rimraf ${schemas}`); await fs.promises.mkdir(schemas, { recursive: true }); - await TestJsonSchemaGenerator.generate(structures); + await TestJsonApplicationGenerator.generate(structures); + await TestJsonSchemasGenerator.generate(structures); await TestProtobufMessageGenerator.generate(structures); await TestReflectMetadataGenerator.generate(structures); // FILL SCHEMA CONTENTS cp.execSync("npm run build", { stdio: "inherit" }); - await TestJsonSchemaGenerator.schemas(); + await TestJsonApplicationGenerator.schemas(); + await TestJsonSchemasGenerator.schemas(); await TestProtobufMessageGenerator.schemas(); await TestReflectMetadataGenerator.schemas(); // LLM SCHEMAS AGAIN + await TestLlmApplicationGenerator.generate(structures); await TestLlmSchemaGenerator.generate(structures); + cp.execSync("npm run build", { stdio: "inherit" }); + await TestLlmApplicationGenerator.schemas(); await TestLlmSchemaGenerator.schemas(); cp.execSync("npm run prettier", { stdio: "inherit" }); diff --git a/test/package.json b/test/package.json index 4032fda268..f49d1db2cc 100644 --- a/test/package.json +++ b/test/package.json @@ -53,6 +53,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-7.0.0-dev.20241115.tgz" + "typia": "../typia-7.0.0-dev.20241122.tgz" } } \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayAny.json b/test/schemas/json.application/v3_0/ArrayAny.json new file mode 100644 index 0000000000..dae2f15a43 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayAny.json @@ -0,0 +1,186 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + }, + "ArrayAny.Nullable": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAny" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAny" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAny.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAny" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAny.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAny.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayAny.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAny.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayAtomicAlias.json b/test/schemas/json.application/v3_0/ArrayAtomicAlias.json new file mode 100644 index 0000000000..15c28a4b60 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayAtomicAlias.json @@ -0,0 +1,136 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayAtomicAlias": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "ArrayAtomicAlias.Aliasboolean": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "ArrayAtomicAlias.Aliasnumber": { + "type": "array", + "items": { + "type": "number" + } + }, + "ArrayAtomicAlias.Aliasstring": { + "type": "array", + "items": { + "type": "string" + } + }, + "ArrayAtomicAlias.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayAtomicSimple.json b/test/schemas/json.application/v3_0/ArrayAtomicSimple.json new file mode 100644 index 0000000000..918c6ddf51 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayAtomicSimple.json @@ -0,0 +1,136 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayAtomicSimple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "ArrayAtomicSimple.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayHierarchical.json b/test/schemas/json.application/v3_0/ArrayHierarchical.json new file mode 100644 index 0000000000..c3ec816b10 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayHierarchical.json @@ -0,0 +1,196 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayHierarchical": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + } + }, + "ArrayHierarchical.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchical.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchical.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + }, + "ArrayHierarchical.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayHierarchicalPointer.json b/test/schemas/json.application/v3_0/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..fc27b2496f --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayHierarchicalPointer.json @@ -0,0 +1,212 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayHierarchicalPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayHierarchicalPointer.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchicalPointer.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchicalPointer.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchicalPointer.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + }, + "ArrayHierarchicalPointer.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayMatrix.json b/test/schemas/json.application/v3_0/ArrayMatrix.json new file mode 100644 index 0000000000..0fbdaa7be9 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayMatrix.json @@ -0,0 +1,106 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayMatrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "ArrayMatrix.Nullable": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayMatrix" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayMatrix.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRecursive.json b/test/schemas/json.application/v3_0/ArrayRecursive.json new file mode 100644 index 0000000000..59ab113f8f --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRecursive.json @@ -0,0 +1,157 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "ArrayRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayRecursive.ICategory.Nullable": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRecursiveUnionExplicit.json b/test/schemas/json.application/v3_0/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..53ba79e6ce --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRecursiveUnionExplicit.json @@ -0,0 +1,314 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/json.application/v3_0/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..af8b3d08cf --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1,338 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRecursiveUnionImplicit.json b/test/schemas/json.application/v3_0/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..87a1aa1e92 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRecursiveUnionImplicit.json @@ -0,0 +1,288 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + }, + "ArrayRecursiveUnionImplicit.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRepeatedNullable.json b/test/schemas/json.application/v3_0/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..559081a5c3 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRepeatedNullable.json @@ -0,0 +1,121 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayArrayRepeatedNullable.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + }, + "nullable": true + }, + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable.Nullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable.Nullable" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRepeatedRequired.json b/test/schemas/json.application/v3_0/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..4caafac9ac --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRepeatedRequired.json @@ -0,0 +1,167 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + }, + "ArrayArrayRepeatedRequired.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired.Nullable" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired.Nullable" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired.Nullable" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired.Nullable" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired.Nullable" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRepeatedUnion.json b/test/schemas/json.application/v3_0/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..29c7de65db --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRepeatedUnion.json @@ -0,0 +1,291 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "ArrayArrayRepeatedUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + }, + "nullable": true + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + }, + "nullable": true + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + }, + "nullable": true + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + }, + "nullable": true + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + }, + "nullable": true + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayRepeatedUnionWithTuple.json b/test/schemas/json.application/v3_0/ArrayRepeatedUnionWithTuple.json new file mode 100644 index 0000000000..b6eec70cf0 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayRepeatedUnionWithTuple.json @@ -0,0 +1,499 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "ArrayArrayRepeatedUnionWithTuple.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple.Nullable" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArraySimple.json b/test/schemas/json.application/v3_0/ArraySimple.json new file mode 100644 index 0000000000..ff22a75085 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArraySimple.json @@ -0,0 +1,135 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArraySimple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + } + }, + "ArraySimple.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IHobby" + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "ArraySimple.IHobby": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + }, + "ArraySimple.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArraySimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArraySimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArraySimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArraySimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArraySimple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArraySimple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArraySimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArraySimple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ArrayUnion.json b/test/schemas/json.application/v3_0/ArrayUnion.json new file mode 100644 index 0000000000..8b1cebf100 --- /dev/null +++ b/test/schemas/json.application/v3_0/ArrayUnion.json @@ -0,0 +1,116 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "ArrayUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ArrayUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/AtomicAlias.json b/test/schemas/json.application/v3_0/AtomicAlias.json new file mode 100644 index 0000000000..5f65ff871b --- /dev/null +++ b/test/schemas/json.application/v3_0/AtomicAlias.json @@ -0,0 +1,118 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "AtomicAlias": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "AtomicAlias.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicAlias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicAlias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicAlias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicAlias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicAlias.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicAlias.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/AtomicAlias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicAlias.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/AtomicClass.json b/test/schemas/json.application/v3_0/AtomicClass.json new file mode 100644 index 0000000000..ccaf9ec355 --- /dev/null +++ b/test/schemas/json.application/v3_0/AtomicClass.json @@ -0,0 +1,154 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "AtomicClass": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9 + }, + "AtomicClass.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicClass" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicClass" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicClass.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicClass" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicClass.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicClass.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/AtomicClass.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicClass.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/AtomicIntersection.json b/test/schemas/json.application/v3_0/AtomicIntersection.json new file mode 100644 index 0000000000..e3ddd3af47 --- /dev/null +++ b/test/schemas/json.application/v3_0/AtomicIntersection.json @@ -0,0 +1,127 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "AtomicIntersection": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "AtomicIntersection.Wrapperboolean": { + "type": "boolean" + }, + "AtomicIntersection.Wrappernumber": { + "type": "number" + }, + "AtomicIntersection.Wrapperstring": { + "type": "string" + }, + "AtomicIntersection.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicIntersection" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicIntersection.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/AtomicSimple.json b/test/schemas/json.application/v3_0/AtomicSimple.json new file mode 100644 index 0000000000..d1ff086507 --- /dev/null +++ b/test/schemas/json.application/v3_0/AtomicSimple.json @@ -0,0 +1,118 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "AtomicSimple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "AtomicSimple.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicSimple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicSimple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/AtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicSimple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/AtomicUnion.json b/test/schemas/json.application/v3_0/AtomicUnion.json new file mode 100644 index 0000000000..fd0fa6b5be --- /dev/null +++ b/test/schemas/json.application/v3_0/AtomicUnion.json @@ -0,0 +1,110 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "AtomicUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/AtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ClassGetter.json b/test/schemas/json.application/v3_0/ClassGetter.json new file mode 100644 index 0000000000..1ca851df80 --- /dev/null +++ b/test/schemas/json.application/v3_0/ClassGetter.json @@ -0,0 +1,122 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ] + }, + "ClassGetter.Person.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ClassMethod.json b/test/schemas/json.application/v3_0/ClassMethod.json new file mode 100644 index 0000000000..7a3d5a0b0e --- /dev/null +++ b/test/schemas/json.application/v3_0/ClassMethod.json @@ -0,0 +1,112 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ClassMethod.Animal": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + }, + "ClassMethod.Animal.Nullable": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ClassPropertyAssignment.json b/test/schemas/json.application/v3_0/ClassPropertyAssignment.json new file mode 100644 index 0000000000..f38efcd11f --- /dev/null +++ b/test/schemas/json.application/v3_0/ClassPropertyAssignment.json @@ -0,0 +1,148 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ClassPropertyAssignment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + }, + "ClassPropertyAssignment.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagArray.json b/test/schemas/json.application/v3_0/CommentTagArray.json new file mode 100644 index 0000000000..1e61f72b62 --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagArray.json @@ -0,0 +1,160 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + }, + "CommentTagArray.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArray.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArray.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagArray.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagArrayUnion.json b/test/schemas/json.application/v3_0/CommentTagArrayUnion.json new file mode 100644 index 0000000000..1c91a4c138 --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagArrayUnion.json @@ -0,0 +1,142 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + }, + "CommentTagArrayUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagAtomicUnion.json b/test/schemas/json.application/v3_0/CommentTagAtomicUnion.json new file mode 100644 index 0000000000..ea5b794216 --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagAtomicUnion.json @@ -0,0 +1,131 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagDefault.json b/test/schemas/json.application/v3_0/CommentTagDefault.json new file mode 100644 index 0000000000..d674268b24 --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagDefault.json @@ -0,0 +1,322 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + }, + "CommentTagDefault.Nullable": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagDefault" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagDefault.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagFormat.json b/test/schemas/json.application/v3_0/CommentTagFormat.json new file mode 100644 index 0000000000..61a8b86adf --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagFormat.json @@ -0,0 +1,316 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + }, + "CommentTagFormat.Nullable": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagFormat" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagFormat.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagLength.json b/test/schemas/json.application/v3_0/CommentTagLength.json new file mode 100644 index 0000000000..c61f675afd --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagLength.json @@ -0,0 +1,145 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + }, + "CommentTagLength.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagLength" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagLength" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagLength.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagLength" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagLength.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagLength.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagLength.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagLength.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagObjectUnion.json b/test/schemas/json.application/v3_0/CommentTagObjectUnion.json new file mode 100644 index 0000000000..a934597de1 --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagObjectUnion.json @@ -0,0 +1,129 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagPattern.json b/test/schemas/json.application/v3_0/CommentTagPattern.json new file mode 100644 index 0000000000..811d660fbd --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagPattern.json @@ -0,0 +1,136 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + }, + "CommentTagPattern.Nullable": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagPattern" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagPattern.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagRange.json b/test/schemas/json.application/v3_0/CommentTagRange.json new file mode 100644 index 0000000000..3d62e86ea9 --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagRange.json @@ -0,0 +1,173 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + }, + "CommentTagRange.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagRange" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagRange" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagRange.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagRange" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagRange.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagRange.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagRange.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagRange.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/CommentTagType.json b/test/schemas/json.application/v3_0/CommentTagType.json new file mode 100644 index 0000000000..2d0d5bb092 --- /dev/null +++ b/test/schemas/json.application/v3_0/CommentTagType.json @@ -0,0 +1,149 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "CommentTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + }, + "CommentTagType.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagType" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagType" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagType.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagType" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagType.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagType.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/CommentTagType.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagType.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantAtomicAbsorbed.json b/test/schemas/json.application/v3_0/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..f0495805ef --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantAtomicAbsorbed.json @@ -0,0 +1,116 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantAtomicAbsorbed": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + }, + "ConstantAtomicAbsorbed.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantAtomicSimple.json b/test/schemas/json.application/v3_0/ConstantAtomicSimple.json new file mode 100644 index 0000000000..3ebba02758 --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantAtomicSimple.json @@ -0,0 +1,148 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "ConstantAtomicSimple.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantAtomicTagged.json b/test/schemas/json.application/v3_0/ConstantAtomicTagged.json new file mode 100644 index 0000000000..1bfe4890f8 --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantAtomicTagged.json @@ -0,0 +1,142 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ] + }, + "ConstantAtomicTagged.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantAtomicUnion.json b/test/schemas/json.application/v3_0/ConstantAtomicUnion.json new file mode 100644 index 0000000000..532e9b83e6 --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantAtomicUnion.json @@ -0,0 +1,132 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ] + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + }, + "ConstantAtomicUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantAtomicWrapper.json b/test/schemas/json.application/v3_0/ConstantAtomicWrapper.json new file mode 100644 index 0000000000..a8eb67f580 --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantAtomicWrapper.json @@ -0,0 +1,151 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantAtomicWrapper": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "ConstantAtomicWrapper.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantConstEnumeration.json b/test/schemas/json.application/v3_0/ConstantConstEnumeration.json new file mode 100644 index 0000000000..80f33fcaeb --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantConstEnumeration.json @@ -0,0 +1,113 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "ConstantConstEnumeration.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantEnumeration.json b/test/schemas/json.application/v3_0/ConstantEnumeration.json new file mode 100644 index 0000000000..a847add211 --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantEnumeration.json @@ -0,0 +1,113 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "ConstantEnumeration.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ConstantIntersection.json b/test/schemas/json.application/v3_0/ConstantIntersection.json new file mode 100644 index 0000000000..6362dca27c --- /dev/null +++ b/test/schemas/json.application/v3_0/ConstantIntersection.json @@ -0,0 +1,136 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantIntersection": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "ConstantIntersection.Wrapperfalse": { + "type": "boolean", + "enum": [ + false + ] + }, + "ConstantIntersection.Wrapper1": { + "type": "number", + "enum": [ + 1 + ] + }, + "ConstantIntersection.Wrappertwo": { + "type": "string", + "enum": [ + "two" + ] + }, + "ConstantIntersection.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantIntersection" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantIntersection.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicArray.json b/test/schemas/json.application/v3_0/DynamicArray.json new file mode 100644 index 0000000000..57dcb52a15 --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicArray.json @@ -0,0 +1,118 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicArray": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + }, + "DynamicArray.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicArray.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicArray.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicArray.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicComposite.json b/test/schemas/json.application/v3_0/DynamicComposite.json new file mode 100644 index 0000000000..558b32c4d1 --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicComposite.json @@ -0,0 +1,138 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "DynamicComposite.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicComposite" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicComposite" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicComposite.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicComposite" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicComposite.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicComposite.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicComposite.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicComposite.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicConstant.json b/test/schemas/json.application/v3_0/DynamicConstant.json new file mode 100644 index 0000000000..483423e703 --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicConstant.json @@ -0,0 +1,144 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicConstant": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + }, + "DynamicConstant.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicConstant" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicConstant" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicConstant.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicConstant" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicConstant.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicConstant.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicConstant.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicConstant.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicEnumeration.json b/test/schemas/json.application/v3_0/DynamicEnumeration.json new file mode 100644 index 0000000000..83aac3c08d --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicEnumeration.json @@ -0,0 +1,168 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicEnumeration": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + }, + "DynamicEnumeration.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicNever.json b/test/schemas/json.application/v3_0/DynamicNever.json new file mode 100644 index 0000000000..cd0a13d7a5 --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicNever.json @@ -0,0 +1,90 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicNever": { + "type": "object", + "properties": {} + }, + "DynamicNever.Nullable": { + "type": "object", + "properties": {}, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicNever" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicNever" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicNever.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicNever" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicNever.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicNever.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicNever.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicNever.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicSimple.json b/test/schemas/json.application/v3_0/DynamicSimple.json new file mode 100644 index 0000000000..4199e6129e --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicSimple.json @@ -0,0 +1,112 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicSimple": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ] + }, + "DynamicSimple.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicSimple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicSimple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicSimple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicTemplate.json b/test/schemas/json.application/v3_0/DynamicTemplate.json new file mode 100644 index 0000000000..38a456e06c --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicTemplate.json @@ -0,0 +1,116 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "DynamicTemplate.Nullable": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicTemplate" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicTemplate.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicTree.json b/test/schemas/json.application/v3_0/DynamicTree.json new file mode 100644 index 0000000000..e3e3a0b297 --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicTree.json @@ -0,0 +1,128 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "RecordstringDynamicTree": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/DynamicTree" + } + }, + "DynamicTree.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTree" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTree" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTree.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicTree" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTree.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTree.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicTree.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicTree.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicUndefined.json b/test/schemas/json.application/v3_0/DynamicUndefined.json new file mode 100644 index 0000000000..570eef9978 --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicUndefined.json @@ -0,0 +1,90 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicUndefined": { + "type": "object", + "properties": {} + }, + "DynamicUndefined.Nullable": { + "type": "object", + "properties": {}, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicUndefined" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicUndefined.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/DynamicUnion.json b/test/schemas/json.application/v3_0/DynamicUnion.json new file mode 100644 index 0000000000..b42828a1db --- /dev/null +++ b/test/schemas/json.application/v3_0/DynamicUnion.json @@ -0,0 +1,110 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "DynamicUnion.Nullable": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/DynamicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectAlias.json b/test/schemas/json.application/v3_0/ObjectAlias.json new file mode 100644 index 0000000000..4a4b8fa171 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectAlias.json @@ -0,0 +1,145 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + }, + "ObjectAlias.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectAlias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectAlias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectAlias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectAlias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectAlias.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectAlias.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectAlias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectAlias.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectDate.json b/test/schemas/json.application/v3_0/ObjectDate.json new file mode 100644 index 0000000000..1319b3bd11 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectDate.json @@ -0,0 +1,154 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + }, + "ObjectDate.Nullable": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDate" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDate" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDate.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDate" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDate.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDate.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectDate.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDate.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectDescription.json b/test/schemas/json.application/v3_0/ObjectDescription.json new file mode 100644 index 0000000000..7957a382c2 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectDescription.json @@ -0,0 +1,166 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectDescription": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." + }, + "ObjectDescription.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDescription" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDescription" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDescription.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDescription" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDescription.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDescription.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectDescription.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDescription.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectDynamic.json b/test/schemas/json.application/v3_0/ObjectDynamic.json new file mode 100644 index 0000000000..c698cfe7c7 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectDynamic.json @@ -0,0 +1,116 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "ObjectDynamic.Nullable": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDynamic" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDynamic.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectGeneric.json b/test/schemas/json.application/v3_0/ObjectGeneric.json new file mode 100644 index 0000000000..0ff52c61d5 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectGeneric.json @@ -0,0 +1,229 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectGeneric": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "ObjectGeneric.ISomethingboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildbooleanboolean": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingnumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildnumbernumber": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildstringstring": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGeneric" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGeneric.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectGenericAlias.json b/test/schemas/json.application/v3_0/ObjectGenericAlias.json new file mode 100644 index 0000000000..5726c77846 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectGenericAlias.json @@ -0,0 +1,104 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectGenericAlias.Alias": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericAlias.Alias.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectGenericArray.json b/test/schemas/json.application/v3_0/ObjectGenericArray.json new file mode 100644 index 0000000000..b8877a5566 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectGenericArray.json @@ -0,0 +1,156 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectGenericArray": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "ObjectGenericArray.IPagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "ObjectGenericArray.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + }, + "ObjectGenericArray.Nullable": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectGenericUnion.json b/test/schemas/json.application/v3_0/ObjectGenericUnion.json new file mode 100644 index 0000000000..1565e4281e --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectGenericUnion.json @@ -0,0 +1,319 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleAnswer.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "nullable": true + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer.Nullable" + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer.Nullable" + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.Nullable": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectHierarchical.json b/test/schemas/json.application/v3_0/ObjectHierarchical.json new file mode 100644 index 0000000000..056b99b9bc --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectHierarchical.json @@ -0,0 +1,409 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectHierarchical.IMember.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise.Nullable" + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "nullable": true + }, + "ObjectHierarchical.IEnterprise.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "nullable": true + }, + "ObjectHierarchical.IAccount.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "nullable": true + }, + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "$ref": "#/components/schemas/ObjectHierarchical.IMember.Nullable" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount.Nullable" + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise.Nullable" + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + }, + "ObjectHierarchical.ICustomer.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "$ref": "#/components/schemas/ObjectHierarchical.IMember.Nullable" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount.Nullable" + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectInternal.json b/test/schemas/json.application/v3_0/ObjectInternal.json new file mode 100644 index 0000000000..83c889091a --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectInternal.json @@ -0,0 +1,112 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectInternal": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "ObjectInternal.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectInternal" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectInternal" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectInternal.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectInternal" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectInternal.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectInternal.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectInternal.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectInternal.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectIntersection.json b/test/schemas/json.application/v3_0/ObjectIntersection.json new file mode 100644 index 0000000000..11f026d7d5 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectIntersection.json @@ -0,0 +1,120 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectIntersection": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + }, + "ObjectIntersection.Nullable": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectIntersection" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectIntersection.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectJsonTag.json b/test/schemas/json.application/v3_0/ObjectJsonTag.json new file mode 100644 index 0000000000..37c5899043 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectJsonTag.json @@ -0,0 +1,142 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectJsonTag": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + }, + "ObjectJsonTag.Nullable": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectLiteralProperty.json b/test/schemas/json.application/v3_0/ObjectLiteralProperty.json new file mode 100644 index 0000000000..7ffeae1ff3 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectLiteralProperty.json @@ -0,0 +1,112 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectLiteralProperty.ISomething": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + }, + "ObjectLiteralProperty.ISomething.Nullable": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectLiteralType.json b/test/schemas/json.application/v3_0/ObjectLiteralType.json new file mode 100644 index 0000000000..6abffdebfc --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectLiteralType.json @@ -0,0 +1,213 @@ +{ + "version": "3.0", + "components": { + "schemas": {} + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + } + } + ], + "output": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + } + }, + { + "name": "second", + "required": true, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + } + }, + { + "name": "third", + "required": false, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + } + } + ], + "output": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectNullable.json b/test/schemas/json.application/v3_0/ObjectNullable.json new file mode 100644 index 0000000000..b805e0fd04 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectNullable.json @@ -0,0 +1,214 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IBrand.Nullable": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "nullable": true + }, + "ObjectNullable.IManufacturer.Nullable": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "nullable": true + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "$ref": "#/components/schemas/ObjectNullable.IBrand.Nullable" + }, + "similar": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectNullable.IBrand.Nullable" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer.Nullable" + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectNullable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectNullable.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectNullable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectNullable.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectNullable.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectNullable.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectNullable.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectOptional.json b/test/schemas/json.application/v3_0/ObjectOptional.json new file mode 100644 index 0000000000..edd8072197 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectOptional.json @@ -0,0 +1,116 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectOptional": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + }, + "ObjectOptional.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectOptional" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectOptional" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectOptional.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectOptional" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectOptional.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectOptional.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectOptional.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectOptional.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectPartial.json b/test/schemas/json.application/v3_0/ObjectPartial.json new file mode 100644 index 0000000000..431fcbea59 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectPartial.json @@ -0,0 +1,191 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectPartial.IBase.Nullable": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectPartial.IBase.Nullable" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + }, + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectPartial.IBase.Nullable" + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectPartial.IBase.Nullable" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + }, + "PartialObjectPartial.IBase.Nullable": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectPartial.IBase.Nullable" + } + }, + "description": "Make all properties in T optional", + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectPartialAndRequired.json b/test/schemas/json.application/v3_0/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..140ae5160c --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectPartialAndRequired.json @@ -0,0 +1,136 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectPartialAndRequired.Nullable": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "$ref": "#/components/schemas/ObjectPartialAndRequired.Nullable" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "$ref": "#/components/schemas/ObjectPartialAndRequired.Nullable" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectPrimitive.json b/test/schemas/json.application/v3_0/ObjectPrimitive.json new file mode 100644 index 0000000000..b3b675806d --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectPrimitive.json @@ -0,0 +1,195 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + }, + "ObjectPrimitive.IArticle.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectPropertyNullable.json b/test/schemas/json.application/v3_0/ObjectPropertyNullable.json new file mode 100644 index 0000000000..bbf0d4cf55 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectPropertyNullable.json @@ -0,0 +1,252 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "nullable": true + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember.Nullable" + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ] + }, + "ObjectPropertyNullable.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectRecursive.json b/test/schemas/json.application/v3_0/ObjectRecursive.json new file mode 100644 index 0000000000..b46560f17f --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectRecursive.json @@ -0,0 +1,159 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectRecursive.IDepartment.Nullable": { + "type": "object", + "properties": { + "parent": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment.Nullable" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment.Nullable" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectRequired.json b/test/schemas/json.application/v3_0/ObjectRequired.json new file mode 100644 index 0000000000..8c185170c8 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectRequired.json @@ -0,0 +1,191 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectRequired.IBase.Nullable": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectRequired.IBase.Nullable" + } + }, + "nullable": true + }, + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectRequired.IBase.Nullable" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectRequired.IBase.Nullable" + } + } + }, + "RequiredObjectRequired.IBase.Nullable": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "$ref": "#/components/schemas/ObjectRequired.IBase.Nullable" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required", + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectSimple.json b/test/schemas/json.application/v3_0/ObjectSimple.json new file mode 100644 index 0000000000..6e80938718 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectSimple.json @@ -0,0 +1,147 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectSimple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ObjectSimple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "ObjectSimple.IBox3D.Nullable": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectTuple.json b/test/schemas/json.application/v3_0/ObjectTuple.json new file mode 100644 index 0000000000..4f30291c79 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectTuple.json @@ -0,0 +1,150 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectTuple": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ] + }, + "minItems": 2, + "maxItems": 2 + }, + "ObjectTuple.ISection": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ] + }, + "ObjectTuple.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ObjectTuple.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectTuple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectTuple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectTuple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectTuple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectTuple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUndefined.json b/test/schemas/json.application/v3_0/ObjectUndefined.json new file mode 100644 index 0000000000..7976e197eb --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUndefined.json @@ -0,0 +1,138 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "ObjectUndefined.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUndefined" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUndefined.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUnionComposite.json b/test/schemas/json.application/v3_0/ObjectUnionComposite.json new file mode 100644 index 0000000000..371ee2e58e --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUnionComposite.json @@ -0,0 +1,281 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + }, + "ObjectUnionComposite.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUnionCompositePointer.json b/test/schemas/json.application/v3_0/ObjectUnionCompositePointer.json new file mode 100644 index 0000000000..cdf37547a8 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUnionCompositePointer.json @@ -0,0 +1,283 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + }, + "ObjectUnionCompositePointer.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUnionDouble.json b/test/schemas/json.application/v3_0/ObjectUnionDouble.json new file mode 100644 index 0000000000..82f6b5edab --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUnionDouble.json @@ -0,0 +1,243 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUnionExplicit.json b/test/schemas/json.application/v3_0/ObjectUnionExplicit.json new file mode 100644 index 0000000000..32d9a476e1 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUnionExplicit.json @@ -0,0 +1,335 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + }, + "ObjectUnionExplicit.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUnionExplicitPointer.json b/test/schemas/json.application/v3_0/ObjectUnionExplicitPointer.json new file mode 100644 index 0000000000..5675ac67df --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUnionExplicitPointer.json @@ -0,0 +1,343 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + }, + "ObjectUnionExplicitPointer.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUnionImplicit.json b/test/schemas/json.application/v3_0/ObjectUnionImplicit.json new file mode 100644 index 0000000000..57a4cb3611 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUnionImplicit.json @@ -0,0 +1,303 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ] + }, + "ObjectUnionImplicit.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ObjectUnionNonPredictable.json b/test/schemas/json.application/v3_0/ObjectUnionNonPredictable.json new file mode 100644 index 0000000000..9ede328468 --- /dev/null +++ b/test/schemas/json.application/v3_0/ObjectUnionNonPredictable.json @@ -0,0 +1,211 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TemplateAtomic.json b/test/schemas/json.application/v3_0/TemplateAtomic.json new file mode 100644 index 0000000000..0e53c05b99 --- /dev/null +++ b/test/schemas/json.application/v3_0/TemplateAtomic.json @@ -0,0 +1,182 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + }, + "TemplateAtomic.Nullable": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateAtomic" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateAtomic.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TemplateConstant.json b/test/schemas/json.application/v3_0/TemplateConstant.json new file mode 100644 index 0000000000..6594cbdffb --- /dev/null +++ b/test/schemas/json.application/v3_0/TemplateConstant.json @@ -0,0 +1,150 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + }, + "TemplateConstant.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateConstant" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateConstant" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateConstant.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateConstant" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateConstant.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateConstant.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TemplateConstant.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateConstant.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TemplateUnion.json b/test/schemas/json.application/v3_0/TemplateUnion.json new file mode 100644 index 0000000000..a44c359c17 --- /dev/null +++ b/test/schemas/json.application/v3_0/TemplateUnion.json @@ -0,0 +1,166 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + }, + "TemplateUnion.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TemplateUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ToJsonArray.json b/test/schemas/json.application/v3_0/ToJsonArray.json new file mode 100644 index 0000000000..00626ad22e --- /dev/null +++ b/test/schemas/json.application/v3_0/ToJsonArray.json @@ -0,0 +1,159 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ToJsonArray": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "ToJsonArray.IObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "ToJsonArray.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonArray.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonArray.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ToJsonArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonArray.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ToJsonAtomicSimple.json b/test/schemas/json.application/v3_0/ToJsonAtomicSimple.json new file mode 100644 index 0000000000..a6ca2a8505 --- /dev/null +++ b/test/schemas/json.application/v3_0/ToJsonAtomicSimple.json @@ -0,0 +1,118 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ToJsonAtomicSimple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "ToJsonAtomicSimple.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ToJsonAtomicUnion.json b/test/schemas/json.application/v3_0/ToJsonAtomicUnion.json new file mode 100644 index 0000000000..dcb5e9c933 --- /dev/null +++ b/test/schemas/json.application/v3_0/ToJsonAtomicUnion.json @@ -0,0 +1,120 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } + }, + "ToJsonAtomicUnion.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ToJsonDouble.json b/test/schemas/json.application/v3_0/ToJsonDouble.json new file mode 100644 index 0000000000..3d1fe734f3 --- /dev/null +++ b/test/schemas/json.application/v3_0/ToJsonDouble.json @@ -0,0 +1,112 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ToJsonDouble.Child": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + }, + "ToJsonDouble.Child.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ToJsonNull.json b/test/schemas/json.application/v3_0/ToJsonNull.json new file mode 100644 index 0000000000..bf02811596 --- /dev/null +++ b/test/schemas/json.application/v3_0/ToJsonNull.json @@ -0,0 +1,80 @@ +{ + "version": "3.0", + "components": { + "schemas": {} + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "null" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "null" + } + }, + { + "name": "second", + "required": true, + "schema": { + "type": "null" + } + } + ], + "output": { + "schema": { + "type": "null" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "null" + } + }, + { + "name": "second", + "required": true, + "schema": { + "type": "null" + } + }, + { + "name": "third", + "required": false, + "schema": { + "type": "null" + } + } + ], + "output": { + "schema": { + "type": "null" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ToJsonTuple.json b/test/schemas/json.application/v3_0/ToJsonTuple.json new file mode 100644 index 0000000000..261ca9103b --- /dev/null +++ b/test/schemas/json.application/v3_0/ToJsonTuple.json @@ -0,0 +1,142 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ToJsonTuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "ToJsonTuple.IObject": { + "$ref": "#/components/schemas/ToJsonTuple.IHobby" + }, + "ToJsonTuple.IHobby": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ] + }, + "ToJsonTuple.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonTuple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/ToJsonUnion.json b/test/schemas/json.application/v3_0/ToJsonUnion.json new file mode 100644 index 0000000000..3fe1540ef7 --- /dev/null +++ b/test/schemas/json.application/v3_0/ToJsonUnion.json @@ -0,0 +1,170 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + }, + "ToJsonUnion.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TupleHierarchical.json b/test/schemas/json.application/v3_0/TupleHierarchical.json new file mode 100644 index 0000000000..e53c1e358d --- /dev/null +++ b/test/schemas/json.application/v3_0/TupleHierarchical.json @@ -0,0 +1,328 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5 + }, + "TupleHierarchical.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleHierarchical" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleHierarchical.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TupleRestArray.json b/test/schemas/json.application/v3_0/TupleRestArray.json new file mode 100644 index 0000000000..e7f85d40df --- /dev/null +++ b/test/schemas/json.application/v3_0/TupleRestArray.json @@ -0,0 +1,122 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2 + }, + "TupleRestArray.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestArray.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestArray.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TupleRestArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestArray.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TupleRestAtomic.json b/test/schemas/json.application/v3_0/TupleRestAtomic.json new file mode 100644 index 0000000000..9ecfdcd48f --- /dev/null +++ b/test/schemas/json.application/v3_0/TupleRestAtomic.json @@ -0,0 +1,116 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2 + }, + "TupleRestAtomic.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TupleRestObject.json b/test/schemas/json.application/v3_0/TupleRestObject.json new file mode 100644 index 0000000000..392568ed1f --- /dev/null +++ b/test/schemas/json.application/v3_0/TupleRestObject.json @@ -0,0 +1,127 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + ] + }, + "minItems": 2 + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "TupleRestObject.Nullable": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + ] + }, + "minItems": 2, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestObject" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestObject" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestObject.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestObject" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestObject.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestObject.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TupleRestObject.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestObject.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagArray.json b/test/schemas/json.application/v3_0/TypeTagArray.json new file mode 100644 index 0000000000..6b750ac431 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagArray.json @@ -0,0 +1,165 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + }, + "TypeTagArray.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArray.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArray.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagArray.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagArray.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagArrayUnion.json b/test/schemas/json.application/v3_0/TypeTagArrayUnion.json new file mode 100644 index 0000000000..650f8ac358 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagArrayUnion.json @@ -0,0 +1,147 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + }, + "TypeTagArrayUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagAtomicUnion.json b/test/schemas/json.application/v3_0/TypeTagAtomicUnion.json new file mode 100644 index 0000000000..4233e4c5f4 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagAtomicUnion.json @@ -0,0 +1,131 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagCustom.json b/test/schemas/json.application/v3_0/TypeTagCustom.json new file mode 100644 index 0000000000..2864c488a4 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagCustom.json @@ -0,0 +1,136 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagCustom": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + }, + "TypeTagCustom.Nullable": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagCustom" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagCustom.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagDefault.json b/test/schemas/json.application/v3_0/TypeTagDefault.json new file mode 100644 index 0000000000..946c858585 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagDefault.json @@ -0,0 +1,286 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + }, + "TypeTagDefault.Nullable": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagDefault" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagDefault.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagFormat.json b/test/schemas/json.application/v3_0/TypeTagFormat.json new file mode 100644 index 0000000000..1fa32caa1e --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagFormat.json @@ -0,0 +1,316 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + }, + "TypeTagFormat.Nullable": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagFormat" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagFormat.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagLength.json b/test/schemas/json.application/v3_0/TypeTagLength.json new file mode 100644 index 0000000000..03cd373e00 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagLength.json @@ -0,0 +1,145 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + }, + "TypeTagLength.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagLength" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagLength" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagLength.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagLength" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagLength.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagLength.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagLength.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagLength.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagMatrix.json b/test/schemas/json.application/v3_0/TypeTagMatrix.json new file mode 100644 index 0000000000..78e942f9d7 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagMatrix.json @@ -0,0 +1,126 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagMatrix": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ] + }, + "TypeTagMatrix.Nullable": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagObjectUnion.json b/test/schemas/json.application/v3_0/TypeTagObjectUnion.json new file mode 100644 index 0000000000..a6b6cca0e7 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagObjectUnion.json @@ -0,0 +1,129 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagPattern.json b/test/schemas/json.application/v3_0/TypeTagPattern.json new file mode 100644 index 0000000000..e2e3efbb0e --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagPattern.json @@ -0,0 +1,136 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + }, + "TypeTagPattern.Nullable": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagPattern" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagPattern.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagRange.json b/test/schemas/json.application/v3_0/TypeTagRange.json new file mode 100644 index 0000000000..16de579f12 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagRange.json @@ -0,0 +1,173 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + }, + "TypeTagRange.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagRange" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagRange" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagRange.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagRange" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagRange.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagRange.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagRange.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagRange.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagTuple.json b/test/schemas/json.application/v3_0/TypeTagTuple.json new file mode 100644 index 0000000000..e460867902 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagTuple.json @@ -0,0 +1,176 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagTuple": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ] + }, + "TypeTagTuple.Nullable": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagTuple.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/TypeTagType.json b/test/schemas/json.application/v3_0/TypeTagType.json new file mode 100644 index 0000000000..096586a413 --- /dev/null +++ b/test/schemas/json.application/v3_0/TypeTagType.json @@ -0,0 +1,145 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TypeTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + }, + "TypeTagType.Nullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagType" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagType" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagType.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagType" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagType.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagType.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeTagType.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagType.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_0/UltimateUnion.json b/test/schemas/json.application/v3_0/UltimateUnion.json new file mode 100644 index 0000000000..fe8fa78fa5 --- /dev/null +++ b/test/schemas/json.application/v3_0/UltimateUnion.json @@ -0,0 +1,1217 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "UltimateUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IJsonSchemaCollection.IV3_1Arrayunknown" + } + }, + "IJsonSchemaCollection.IV3_1Arrayunknown": { + "type": "object", + "properties": { + "version": { + "type": "string", + "enum": [ + "3.1" + ] + }, + "components": { + "$ref": "#/components/schemas/OpenApi.IComponentsOpenApi.IJsonSchema" + }, + "schemas": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "__types": { + "type": "array", + "items": {} + } + }, + "required": [ + "version", + "components", + "schemas" + ] + }, + "OpenApi.IComponentsOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "schemas": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "An object to hold reusable DTO schemas", + "description": "An object to hold reusable DTO schemas.\n\nIn other words, a collection of named JSON schemas." + }, + "securitySchemes": { + "$ref": "#/components/schemas/RecordstringOpenApi.ISecurityScheme", + "title": "An object to hold reusable security schemes", + "description": "An object to hold reusable security schemes.\n\nIn other words, a collection of named security schemes." + } + }, + "description": "Reusable components in OpenAPI.\n\nA storage of reusable components in OpenAPI document.\n\nIn other words, it is a storage of named DTO schemas and security schemes." + }, + "RecordstringOpenApi.IJsonSchema": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "OpenApi.IJsonSchema": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Type schema info", + "description": "Type schema info.\n\n`OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n\n`OpenApi.IJsonSchema` basically follows the JSON schema definition of\nOpenAPI v3.1, but a little bit shrinked to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience and clarity.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@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 {@link OpenApi.IJsonSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}" + }, + "OpenApi.IJsonSchema.IString": { + "type": "object", + "properties": { + "default": { + "type": "string", + "title": "Default value", + "description": "Default value." + }, + "format": { + "type": "string", + "title": "Format restriction", + "description": "Format restriction." + }, + "pattern": { + "type": "string", + "title": "Pattern restriction", + "description": "Pattern restriction." + }, + "contentMediaType": { + "type": "string", + "title": "Content media type restriction", + "description": "Content media type restriction." + }, + "minLength": { + "type": "integer", + "title": "Minimum length restriction", + "description": "Minimum length restriction." + }, + "maxLength": { + "type": "integer", + "title": "Maximum length restriction", + "description": "Maximum length restriction." + }, + "type": { + "type": "string", + "enum": [ + "string" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "String type info." + }, + "Recordstringany": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": {} + }, + "OpenApi.IJsonSchema.INumber": { + "type": "object", + "properties": { + "default": { + "type": "number", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "number", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "number", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "type": "string", + "enum": [ + "number" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Number (double) type info." + }, + "OpenApi.IJsonSchema.IConstant": { + "type": "object", + "properties": { + "const": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "The constant value", + "description": "The constant value." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "const" + ], + "description": "Constant value type." + }, + "OpenApi.IJsonSchema.IBoolean": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "title": "The default value", + "description": "The default value." + }, + "type": { + "type": "string", + "enum": [ + "boolean" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Boolean type info." + }, + "OpenApi.IJsonSchema.IInteger": { + "type": "object", + "properties": { + "default": { + "type": "integer", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "integer", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "integer", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "type": "string", + "enum": [ + "integer" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Integer type info." + }, + "OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema", + "title": "Items type info", + "description": "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type `Array`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the array." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the array." + }, + "type": { + "type": "string", + "enum": [ + "array" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "items", + "type" + ], + "description": "Array type info." + }, + "OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "prefixItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + }, + "title": "Prefix items", + "description": "Prefix items.\n\nThe `prefixItems` means the type schema info of the prefix items in the\ntuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n\nIf you want to express `[T1, T2, ...TO[]]` type, you can configure the\n`...TO[]` through the {@link additionalItems} property." + }, + "additionalItems": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional items", + "description": "Additional items.\n\nThe `additionalItems` means the type schema info of the additional items\nafter the {@link prefixItems}. In the TypeScript, if there's a type\n`[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n\nBy the way, if you configure the `additionalItems` as `true`, it means\nthe additional items are not restricted. They can be any type, so that\nit is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n\nOtherwise configure the `additionalItems` as the {@link IJsonSchema},\nit means the additional items must follow the type schema info.\nTherefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target tuple must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the tuple." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the tuple." + }, + "type": { + "type": "string", + "enum": [ + "array" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "prefixItems", + "type" + ], + "description": "Tuple type info." + }, + "OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "Properties of the object", + "description": "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property,\nand the value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead." + }, + "additionalProperties": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional properties' info", + "description": "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `true`, it means that the additional properties are not\nrestricted. They can be any type. Otherwise, if the value is\n{@link IOpenAiSchema} type, it means that the additional properties must\nfollow the type schema info.\n\n- `true`: `Record`\n- `IOpenAiSchema`: `Record`" + }, + "required": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of key values of the required properties", + "description": "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be filled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso 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```" + }, + "type": { + "type": "string", + "enum": [ + "object" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "properties", + "type" + ], + "description": "Object type info." + }, + "OpenApi.IJsonSchema.IReferencestring": { + "type": "object", + "properties": { + "$ref": { + "type": "string", + "title": "Reference to the named schema", + "description": "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link OpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`" + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "$ref" + ], + "description": "Reference type directing named schema." + }, + "OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "oneOf": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ] + }, + "title": "List of the union types", + "description": "List of the union types." + }, + "discriminator": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOf.IDiscriminator", + "title": "Discriminator info of the union type", + "description": "Discriminator info of the union type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "oneOf" + ], + "description": "Union type.\n\nIOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\nconverts it to `oneOf` type." + }, + "OpenApi.IJsonSchema.INull": { + "type": "object", + "properties": { + "default": { + "type": "null", + "title": "Default value", + "description": "Default value." + }, + "type": { + "type": "string", + "enum": [ + "null" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Null type." + }, + "OpenApi.IJsonSchema.IUnknown": { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "description": "Unknown, the `any` type." + }, + "OpenApi.IJsonSchema.IOneOf.IDiscriminator": { + "type": "object", + "properties": { + "propertyName": { + "type": "string", + "title": "Property name for the discriminator", + "description": "Property name for the discriminator." + }, + "mapping": { + "$ref": "#/components/schemas/Recordstringstring", + "title": "Mapping of the discriminator value to the schema name", + "description": "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\nthe discriminator value, and `value` of `mapping` is the\nschema name like `#/components/schemas/SomeObject`." + } + }, + "required": [ + "propertyName" + ], + "description": "Discriminator info of the union type." + }, + "Recordstringstring": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "string" + } + }, + "RecordstringOpenApi.ISecurityScheme": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme" + } + }, + "OpenApi.ISecurityScheme": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IApiKey" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBasic" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBearer" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOpenId" + } + ], + "title": "Security scheme of Swagger Documents", + "description": "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\nsecurity schemes as an union type like below." + }, + "OpenApi.ISecurityScheme.IApiKey": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "apiKey" + ] + }, + "in": { + "type": "string", + "enum": [ + "cookie", + "header", + "query" + ] + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type" + ], + "description": "Normal API key type." + }, + "OpenApi.ISecurityScheme.IHttpBasic": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "http" + ] + }, + "scheme": { + "type": "string", + "enum": [ + "basic" + ] + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP basic authentication type." + }, + "OpenApi.ISecurityScheme.IHttpBearer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "http" + ] + }, + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "bearerFormat": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP bearer authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "flows": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlowSet" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "flows" + ], + "description": "OAuth2 authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlowSet": { + "type": "object", + "properties": { + "authorizationCode": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlow" + }, + "implicit": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl" + }, + "password": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + }, + "clientCredentials": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + } + } + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlow": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + } + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl": { + "type": "object", + "properties": { + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OpenApi.ISecurityScheme.IOpenId": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "openIdConnect" + ] + }, + "openIdConnectUrl": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "openIdConnectUrl" + ] + }, + "UltimateUnion.Nullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IJsonSchemaCollection.IV3_1Arrayunknown" + }, + "nullable": true + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/UltimateUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/UltimateUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/UltimateUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/UltimateUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/UltimateUnion.Nullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/UltimateUnion.Nullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "$ref": "#/components/schemas/UltimateUnion.Nullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/UltimateUnion.Nullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayAny.json b/test/schemas/json.application/v3_1/ArrayAny.json new file mode 100644 index 0000000000..2e0ac344cb --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayAny.json @@ -0,0 +1,198 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAny" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAny" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAny" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayAtomicAlias.json b/test/schemas/json.application/v3_1/ArrayAtomicAlias.json new file mode 100644 index 0000000000..caaea47034 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayAtomicAlias.json @@ -0,0 +1,149 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayAtomicAlias": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ], + "additionalItems": false + }, + "ArrayAtomicAlias.Aliasboolean": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "ArrayAtomicAlias.Aliasnumber": { + "type": "array", + "items": { + "type": "number" + } + }, + "ArrayAtomicAlias.Aliasstring": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAtomicAlias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayAtomicSimple.json b/test/schemas/json.application/v3_1/ArrayAtomicSimple.json new file mode 100644 index 0000000000..cb38b129c6 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayAtomicSimple.json @@ -0,0 +1,140 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayAtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayHierarchical.json b/test/schemas/json.application/v3_1/ArrayHierarchical.json new file mode 100644 index 0000000000..8947bcde6e --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayHierarchical.json @@ -0,0 +1,224 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayHierarchical": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + } + }, + "ArrayHierarchical.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchical.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchical.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayHierarchical" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayHierarchicalPointer.json b/test/schemas/json.application/v3_1/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..d1760516de --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayHierarchicalPointer.json @@ -0,0 +1,232 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayHierarchicalPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayHierarchicalPointer.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchicalPointer.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchicalPointer.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchicalPointer.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayMatrix.json b/test/schemas/json.application/v3_1/ArrayMatrix.json new file mode 100644 index 0000000000..36919b9a2c --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayMatrix.json @@ -0,0 +1,128 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayMatrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayMatrix" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayMatrix" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRecursive.json b/test/schemas/json.application/v3_1/ArrayRecursive.json new file mode 100644 index 0000000000..10f67473dc --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRecursive.json @@ -0,0 +1,161 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "ArrayRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRecursiveUnionExplicit.json b/test/schemas/json.application/v3_1/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..cfda6c7dcc --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRecursiveUnionExplicit.json @@ -0,0 +1,315 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/json.application/v3_1/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..eeb5393637 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1,331 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRecursiveUnionImplicit.json b/test/schemas/json.application/v3_1/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..fc57f4ba13 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRecursiveUnionImplicit.json @@ -0,0 +1,319 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRepeatedNullable.json b/test/schemas/json.application/v3_1/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..0db49da87c --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRepeatedNullable.json @@ -0,0 +1,116 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRepeatedRequired.json b/test/schemas/json.application/v3_1/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..55afd8b5c1 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRepeatedRequired.json @@ -0,0 +1,165 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRepeatedUnion.json b/test/schemas/json.application/v3_1/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..ef76e6a644 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRepeatedUnion.json @@ -0,0 +1,279 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayRepeatedUnionWithTuple.json b/test/schemas/json.application/v3_1/ArrayRepeatedUnionWithTuple.json new file mode 100644 index 0000000000..b6d4731b75 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayRepeatedUnionWithTuple.json @@ -0,0 +1,441 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArraySimple.json b/test/schemas/json.application/v3_1/ArraySimple.json new file mode 100644 index 0000000000..bebe378390 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArraySimple.json @@ -0,0 +1,163 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArraySimple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + } + }, + "ArraySimple.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IHobby" + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "ArraySimple.IHobby": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArraySimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArraySimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArraySimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ArrayUnion.json b/test/schemas/json.application/v3_1/ArrayUnion.json new file mode 100644 index 0000000000..1503c8ab71 --- /dev/null +++ b/test/schemas/json.application/v3_1/ArrayUnion.json @@ -0,0 +1,144 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ArrayUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ArrayUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/AtomicAlias.json b/test/schemas/json.application/v3_1/AtomicAlias.json new file mode 100644 index 0000000000..d0ea399dc6 --- /dev/null +++ b/test/schemas/json.application/v3_1/AtomicAlias.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "AtomicAlias": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicAlias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicAlias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicAlias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/AtomicClass.json b/test/schemas/json.application/v3_1/AtomicClass.json new file mode 100644 index 0000000000..27083b7dc2 --- /dev/null +++ b/test/schemas/json.application/v3_1/AtomicClass.json @@ -0,0 +1,149 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "AtomicClass": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicClass" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicClass" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicClass" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/AtomicIntersection.json b/test/schemas/json.application/v3_1/AtomicIntersection.json new file mode 100644 index 0000000000..ba3ff32fed --- /dev/null +++ b/test/schemas/json.application/v3_1/AtomicIntersection.json @@ -0,0 +1,140 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "AtomicIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ], + "additionalItems": false + }, + "AtomicIntersection.Wrapperboolean": { + "type": "boolean" + }, + "AtomicIntersection.Wrappernumber": { + "type": "number" + }, + "AtomicIntersection.Wrapperstring": { + "type": "string" + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicIntersection" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicIntersection" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/AtomicSimple.json b/test/schemas/json.application/v3_1/AtomicSimple.json new file mode 100644 index 0000000000..37008c4c28 --- /dev/null +++ b/test/schemas/json.application/v3_1/AtomicSimple.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "AtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/AtomicUnion.json b/test/schemas/json.application/v3_1/AtomicUnion.json new file mode 100644 index 0000000000..7af6d7a302 --- /dev/null +++ b/test/schemas/json.application/v3_1/AtomicUnion.json @@ -0,0 +1,138 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/AtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/AtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ClassGetter.json b/test/schemas/json.application/v3_1/ClassGetter.json new file mode 100644 index 0000000000..50c13e7de8 --- /dev/null +++ b/test/schemas/json.application/v3_1/ClassGetter.json @@ -0,0 +1,142 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassGetter.Person" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ClassMethod.json b/test/schemas/json.application/v3_1/ClassMethod.json new file mode 100644 index 0000000000..e018321b50 --- /dev/null +++ b/test/schemas/json.application/v3_1/ClassMethod.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ClassMethod.Animal": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassMethod.Animal" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ClassPropertyAssignment.json b/test/schemas/json.application/v3_1/ClassPropertyAssignment.json new file mode 100644 index 0000000000..678a415446 --- /dev/null +++ b/test/schemas/json.application/v3_1/ClassPropertyAssignment.json @@ -0,0 +1,173 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ClassPropertyAssignment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ClassPropertyAssignment" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagArray.json b/test/schemas/json.application/v3_1/CommentTagArray.json new file mode 100644 index 0000000000..b335cc1638 --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagArray.json @@ -0,0 +1,180 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagArrayUnion.json b/test/schemas/json.application/v3_1/CommentTagArrayUnion.json new file mode 100644 index 0000000000..fe25a69039 --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagArrayUnion.json @@ -0,0 +1,170 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagArrayUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagAtomicUnion.json b/test/schemas/json.application/v3_1/CommentTagAtomicUnion.json new file mode 100644 index 0000000000..d66d657f2a --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagAtomicUnion.json @@ -0,0 +1,151 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagDefault.json b/test/schemas/json.application/v3_1/CommentTagDefault.json new file mode 100644 index 0000000000..e341ef7b3b --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagDefault.json @@ -0,0 +1,236 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagDefault" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagDefault" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagFormat.json b/test/schemas/json.application/v3_1/CommentTagFormat.json new file mode 100644 index 0000000000..a31bf56b48 --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagFormat.json @@ -0,0 +1,233 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagFormat" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagFormat" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagLength.json b/test/schemas/json.application/v3_1/CommentTagLength.json new file mode 100644 index 0000000000..84e06447aa --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagLength.json @@ -0,0 +1,165 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagLength" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagLength" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagLength" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagObjectUnion.json b/test/schemas/json.application/v3_1/CommentTagObjectUnion.json new file mode 100644 index 0000000000..af67cd3755 --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagObjectUnion.json @@ -0,0 +1,157 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagObjectUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagPattern.json b/test/schemas/json.application/v3_1/CommentTagPattern.json new file mode 100644 index 0000000000..d9b01f2497 --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagPattern.json @@ -0,0 +1,143 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagPattern" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagPattern" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagRange.json b/test/schemas/json.application/v3_1/CommentTagRange.json new file mode 100644 index 0000000000..00f1d89453 --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagRange.json @@ -0,0 +1,193 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagRange" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagRange" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagRange" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/CommentTagType.json b/test/schemas/json.application/v3_1/CommentTagType.json new file mode 100644 index 0000000000..84932e340e --- /dev/null +++ b/test/schemas/json.application/v3_1/CommentTagType.json @@ -0,0 +1,169 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "CommentTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagType" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/CommentTagType" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/CommentTagType" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantAtomicAbsorbed.json b/test/schemas/json.application/v3_1/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..8b2daac7ed --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantAtomicAbsorbed.json @@ -0,0 +1,133 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantAtomicAbsorbed": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantAtomicSimple.json b/test/schemas/json.application/v3_1/ConstantAtomicSimple.json new file mode 100644 index 0000000000..e4378a588a --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantAtomicSimple.json @@ -0,0 +1,134 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantAtomicTagged.json b/test/schemas/json.application/v3_1/ConstantAtomicTagged.json new file mode 100644 index 0000000000..632c594130 --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantAtomicTagged.json @@ -0,0 +1,147 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicTagged" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantAtomicUnion.json b/test/schemas/json.application/v3_1/ConstantAtomicUnion.json new file mode 100644 index 0000000000..c7124913e4 --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantAtomicUnion.json @@ -0,0 +1,152 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantAtomicWrapper.json b/test/schemas/json.application/v3_1/ConstantAtomicWrapper.json new file mode 100644 index 0000000000..eed5dc9cc3 --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantAtomicWrapper.json @@ -0,0 +1,164 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantAtomicWrapper": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ], + "additionalItems": false + }, + "ConstantAtomicWrapper.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantConstEnumeration.json b/test/schemas/json.application/v3_1/ConstantConstEnumeration.json new file mode 100644 index 0000000000..8f1cd1b4b8 --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantConstEnumeration.json @@ -0,0 +1,141 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantConstEnumeration" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantEnumeration.json b/test/schemas/json.application/v3_1/ConstantEnumeration.json new file mode 100644 index 0000000000..95381466d8 --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantEnumeration.json @@ -0,0 +1,141 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantEnumeration" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ConstantIntersection.json b/test/schemas/json.application/v3_1/ConstantIntersection.json new file mode 100644 index 0000000000..acb7ed6753 --- /dev/null +++ b/test/schemas/json.application/v3_1/ConstantIntersection.json @@ -0,0 +1,140 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ConstantIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ], + "additionalItems": false + }, + "ConstantIntersection.Wrapperfalse": { + "const": false + }, + "ConstantIntersection.Wrapper1": { + "const": 1 + }, + "ConstantIntersection.Wrappertwo": { + "const": "two" + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ConstantIntersection" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ConstantIntersection" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicArray.json b/test/schemas/json.application/v3_1/DynamicArray.json new file mode 100644 index 0000000000..f54a29dce9 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicArray.json @@ -0,0 +1,134 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicArray": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicComposite.json b/test/schemas/json.application/v3_1/DynamicComposite.json new file mode 100644 index 0000000000..dc3b17ca51 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicComposite.json @@ -0,0 +1,144 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicComposite" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicComposite" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicComposite" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicConstant.json b/test/schemas/json.application/v3_1/DynamicConstant.json new file mode 100644 index 0000000000..c81f89e824 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicConstant.json @@ -0,0 +1,147 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicConstant": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicConstant" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicConstant" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicConstant" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicEnumeration.json b/test/schemas/json.application/v3_1/DynamicEnumeration.json new file mode 100644 index 0000000000..198d2648f7 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicEnumeration.json @@ -0,0 +1,159 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicEnumeration": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicEnumeration" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicNever.json b/test/schemas/json.application/v3_1/DynamicNever.json new file mode 100644 index 0000000000..b199dead09 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicNever.json @@ -0,0 +1,120 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicNever": { + "type": "object", + "properties": {} + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicNever" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicNever" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicNever" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicSimple.json b/test/schemas/json.application/v3_1/DynamicSimple.json new file mode 100644 index 0000000000..2cc68a245b --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicSimple.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicSimple": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicTemplate.json b/test/schemas/json.application/v3_1/DynamicTemplate.json new file mode 100644 index 0000000000..33a5adbd08 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicTemplate.json @@ -0,0 +1,133 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTemplate" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicTemplate" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicTree.json b/test/schemas/json.application/v3_1/DynamicTree.json new file mode 100644 index 0000000000..a0afd2cf31 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicTree.json @@ -0,0 +1,143 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "RecordstringDynamicTree": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/DynamicTree" + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTree" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicTree" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicTree" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicUndefined.json b/test/schemas/json.application/v3_1/DynamicUndefined.json new file mode 100644 index 0000000000..d93ba9795a --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicUndefined.json @@ -0,0 +1,120 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicUndefined": { + "type": "object", + "properties": {} + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUndefined" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicUndefined" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/DynamicUnion.json b/test/schemas/json.application/v3_1/DynamicUnion.json new file mode 100644 index 0000000000..2825c81993 --- /dev/null +++ b/test/schemas/json.application/v3_1/DynamicUnion.json @@ -0,0 +1,130 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/DynamicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/DynamicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectAlias.json b/test/schemas/json.application/v3_1/ObjectAlias.json new file mode 100644 index 0000000000..948b8acb41 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectAlias.json @@ -0,0 +1,190 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectAlias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectAlias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectAlias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectDate.json b/test/schemas/json.application/v3_1/ObjectDate.json new file mode 100644 index 0000000000..9cf06eba95 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectDate.json @@ -0,0 +1,182 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDate" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDate" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDate" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectDescription.json b/test/schemas/json.application/v3_1/ObjectDescription.json new file mode 100644 index 0000000000..bc6e920744 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectDescription.json @@ -0,0 +1,159 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectDescription": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDescription" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDescription" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDescription" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectDynamic.json b/test/schemas/json.application/v3_1/ObjectDynamic.json new file mode 100644 index 0000000000..8b7f49dd13 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectDynamic.json @@ -0,0 +1,133 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectDynamic" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectDynamic" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectGeneric.json b/test/schemas/json.application/v3_1/ObjectGeneric.json new file mode 100644 index 0000000000..bf12a35f99 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectGeneric.json @@ -0,0 +1,242 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectGeneric": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ], + "additionalItems": false + }, + "ObjectGeneric.ISomethingboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildbooleanboolean": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingnumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildnumbernumber": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildstringstring": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGeneric" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGeneric" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectGenericAlias.json b/test/schemas/json.application/v3_1/ObjectGenericAlias.json new file mode 100644 index 0000000000..95b5d480a7 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectGenericAlias.json @@ -0,0 +1,127 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectGenericAlias.Alias": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectGenericArray.json b/test/schemas/json.application/v3_1/ObjectGenericArray.json new file mode 100644 index 0000000000..4a776c8ffb --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectGenericArray.json @@ -0,0 +1,172 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectGenericArray": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "ObjectGenericArray.IPagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "ObjectGenericArray.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectGenericUnion.json b/test/schemas/json.application/v3_1/ObjectGenericUnion.json new file mode 100644 index 0000000000..4542d39e4a --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectGenericUnion.json @@ -0,0 +1,335 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectGenericUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectHierarchical.json b/test/schemas/json.application/v3_1/ObjectHierarchical.json new file mode 100644 index 0000000000..c7b1fca1f8 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectHierarchical.json @@ -0,0 +1,321 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectInternal.json b/test/schemas/json.application/v3_1/ObjectInternal.json new file mode 100644 index 0000000000..042ebe80c6 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectInternal.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectInternal": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectInternal" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectInternal" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectInternal" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectIntersection.json b/test/schemas/json.application/v3_1/ObjectIntersection.json new file mode 100644 index 0000000000..4e89ebbf6a --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectIntersection.json @@ -0,0 +1,135 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectIntersection": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectIntersection" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectIntersection" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectJsonTag.json b/test/schemas/json.application/v3_1/ObjectJsonTag.json new file mode 100644 index 0000000000..a407c9b010 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectJsonTag.json @@ -0,0 +1,146 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectJsonTag": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectJsonTag" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectLiteralProperty.json b/test/schemas/json.application/v3_1/ObjectLiteralProperty.json new file mode 100644 index 0000000000..43764303d8 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectLiteralProperty.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectLiteralProperty.ISomething": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectLiteralType.json b/test/schemas/json.application/v3_1/ObjectLiteralType.json new file mode 100644 index 0000000000..7b1bff1246 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectLiteralType.json @@ -0,0 +1,243 @@ +{ + "version": "3.1", + "components": { + "schemas": {} + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + } + } + ], + "output": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectNullable.json b/test/schemas/json.application/v3_1/ObjectNullable.json new file mode 100644 index 0000000000..37e2a60f0f --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectNullable.json @@ -0,0 +1,213 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectNullable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectNullable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectOptional.json b/test/schemas/json.application/v3_1/ObjectOptional.json new file mode 100644 index 0000000000..61743e16e5 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectOptional.json @@ -0,0 +1,133 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectOptional": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectOptional" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectOptional" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectOptional" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectPartial.json b/test/schemas/json.application/v3_1/ObjectPartial.json new file mode 100644 index 0000000000..a94d2f31d9 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectPartial.json @@ -0,0 +1,184 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectPartialAndRequired.json b/test/schemas/json.application/v3_1/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..8fe8822590 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectPartialAndRequired.json @@ -0,0 +1,150 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectPrimitive.json b/test/schemas/json.application/v3_1/ObjectPrimitive.json new file mode 100644 index 0000000000..34b7861102 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectPrimitive.json @@ -0,0 +1,191 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectPropertyNullable.json b/test/schemas/json.application/v3_1/ObjectPropertyNullable.json new file mode 100644 index 0000000000..598604109c --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectPropertyNullable.json @@ -0,0 +1,264 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectPropertyNullable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectRecursive.json b/test/schemas/json.application/v3_1/ObjectRecursive.json new file mode 100644 index 0000000000..c3d85c5752 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectRecursive.json @@ -0,0 +1,169 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectRequired.json b/test/schemas/json.application/v3_1/ObjectRequired.json new file mode 100644 index 0000000000..d9af160570 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectRequired.json @@ -0,0 +1,184 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectSimple.json b/test/schemas/json.application/v3_1/ObjectSimple.json new file mode 100644 index 0000000000..a5f0e6fe05 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectSimple.json @@ -0,0 +1,158 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectSimple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ObjectSimple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectTuple.json b/test/schemas/json.application/v3_1/ObjectTuple.json new file mode 100644 index 0000000000..f256beb108 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectTuple.json @@ -0,0 +1,166 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectTuple": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ], + "additionalItems": false + }, + "ObjectTuple.ISection": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ] + }, + "ObjectTuple.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUndefined.json b/test/schemas/json.application/v3_1/ObjectUndefined.json new file mode 100644 index 0000000000..a7137b0abd --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUndefined.json @@ -0,0 +1,166 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUndefined" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUndefined" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUnionComposite.json b/test/schemas/json.application/v3_1/ObjectUnionComposite.json new file mode 100644 index 0000000000..bc5fc1742b --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUnionComposite.json @@ -0,0 +1,284 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionComposite" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUnionCompositePointer.json b/test/schemas/json.application/v3_1/ObjectUnionCompositePointer.json new file mode 100644 index 0000000000..0870e8d4ba --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUnionCompositePointer.json @@ -0,0 +1,303 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUnionDouble.json b/test/schemas/json.application/v3_1/ObjectUnionDouble.json new file mode 100644 index 0000000000..ea4c96d4ab --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUnionDouble.json @@ -0,0 +1,271 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionDouble" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUnionExplicit.json b/test/schemas/json.application/v3_1/ObjectUnionExplicit.json new file mode 100644 index 0000000000..14c9fbf9a6 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUnionExplicit.json @@ -0,0 +1,320 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUnionExplicitPointer.json b/test/schemas/json.application/v3_1/ObjectUnionExplicitPointer.json new file mode 100644 index 0000000000..fa8ccaecd4 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUnionExplicitPointer.json @@ -0,0 +1,342 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUnionImplicit.json b/test/schemas/json.application/v3_1/ObjectUnionImplicit.json new file mode 100644 index 0000000000..8e317e5f2a --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUnionImplicit.json @@ -0,0 +1,381 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionImplicit" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ObjectUnionNonPredictable.json b/test/schemas/json.application/v3_1/ObjectUnionNonPredictable.json new file mode 100644 index 0000000000..e6e17b94d4 --- /dev/null +++ b/test/schemas/json.application/v3_1/ObjectUnionNonPredictable.json @@ -0,0 +1,231 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TemplateAtomic.json b/test/schemas/json.application/v3_1/TemplateAtomic.json new file mode 100644 index 0000000000..20063489cd --- /dev/null +++ b/test/schemas/json.application/v3_1/TemplateAtomic.json @@ -0,0 +1,169 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateAtomic" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateAtomic" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TemplateConstant.json b/test/schemas/json.application/v3_1/TemplateConstant.json new file mode 100644 index 0000000000..4ce90800a3 --- /dev/null +++ b/test/schemas/json.application/v3_1/TemplateConstant.json @@ -0,0 +1,197 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateConstant" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateConstant" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateConstant" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TemplateUnion.json b/test/schemas/json.application/v3_1/TemplateUnion.json new file mode 100644 index 0000000000..a1b3061d9d --- /dev/null +++ b/test/schemas/json.application/v3_1/TemplateUnion.json @@ -0,0 +1,194 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TemplateUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TemplateUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ToJsonArray.json b/test/schemas/json.application/v3_1/ToJsonArray.json new file mode 100644 index 0000000000..738762dde0 --- /dev/null +++ b/test/schemas/json.application/v3_1/ToJsonArray.json @@ -0,0 +1,157 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ToJsonArray": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ], + "additionalItems": false + }, + "ToJsonArray.IObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ToJsonAtomicSimple.json b/test/schemas/json.application/v3_1/ToJsonAtomicSimple.json new file mode 100644 index 0000000000..92cfe94231 --- /dev/null +++ b/test/schemas/json.application/v3_1/ToJsonAtomicSimple.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ToJsonAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ToJsonAtomicUnion.json b/test/schemas/json.application/v3_1/ToJsonAtomicUnion.json new file mode 100644 index 0000000000..f977bf4001 --- /dev/null +++ b/test/schemas/json.application/v3_1/ToJsonAtomicUnion.json @@ -0,0 +1,135 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ToJsonDouble.json b/test/schemas/json.application/v3_1/ToJsonDouble.json new file mode 100644 index 0000000000..908aeb2249 --- /dev/null +++ b/test/schemas/json.application/v3_1/ToJsonDouble.json @@ -0,0 +1,131 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ToJsonDouble.Child": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonDouble.Child" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ToJsonNull.json b/test/schemas/json.application/v3_1/ToJsonNull.json new file mode 100644 index 0000000000..7beaf9a1aa --- /dev/null +++ b/test/schemas/json.application/v3_1/ToJsonNull.json @@ -0,0 +1,115 @@ +{ + "version": "3.1", + "components": { + "schemas": {} + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "null" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "type": "null" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + } + ], + "output": { + "schema": { + "type": "null" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ToJsonTuple.json b/test/schemas/json.application/v3_1/ToJsonTuple.json new file mode 100644 index 0000000000..4c89f60e21 --- /dev/null +++ b/test/schemas/json.application/v3_1/ToJsonTuple.json @@ -0,0 +1,152 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ToJsonTuple": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ], + "additionalItems": false + }, + "ToJsonTuple.IObject": { + "$ref": "#/components/schemas/ToJsonTuple.IHobby" + }, + "ToJsonTuple.IHobby": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/ToJsonUnion.json b/test/schemas/json.application/v3_1/ToJsonUnion.json new file mode 100644 index 0000000000..ddbd166deb --- /dev/null +++ b/test/schemas/json.application/v3_1/ToJsonUnion.json @@ -0,0 +1,179 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/ToJsonUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/ToJsonUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TupleHierarchical.json b/test/schemas/json.application/v3_1/TupleHierarchical.json new file mode 100644 index 0000000000..1654c4c307 --- /dev/null +++ b/test/schemas/json.application/v3_1/TupleHierarchical.json @@ -0,0 +1,215 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleHierarchical" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleHierarchical" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TupleRestArray.json b/test/schemas/json.application/v3_1/TupleRestArray.json new file mode 100644 index 0000000000..43a64e330e --- /dev/null +++ b/test/schemas/json.application/v3_1/TupleRestArray.json @@ -0,0 +1,133 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TupleRestAtomic.json b/test/schemas/json.application/v3_1/TupleRestAtomic.json new file mode 100644 index 0000000000..36c4b83645 --- /dev/null +++ b/test/schemas/json.application/v3_1/TupleRestAtomic.json @@ -0,0 +1,130 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestAtomic" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TupleRestObject.json b/test/schemas/json.application/v3_1/TupleRestObject.json new file mode 100644 index 0000000000..3c4e25533c --- /dev/null +++ b/test/schemas/json.application/v3_1/TupleRestObject.json @@ -0,0 +1,141 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestObject" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TupleRestObject" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TupleRestObject" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagArray.json b/test/schemas/json.application/v3_1/TypeTagArray.json new file mode 100644 index 0000000000..5eb24bce9b --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagArray.json @@ -0,0 +1,185 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArray" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArray" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagArray" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagArrayUnion.json b/test/schemas/json.application/v3_1/TypeTagArrayUnion.json new file mode 100644 index 0000000000..3c54faee22 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagArrayUnion.json @@ -0,0 +1,175 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagArrayUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagAtomicUnion.json b/test/schemas/json.application/v3_1/TypeTagAtomicUnion.json new file mode 100644 index 0000000000..7bcde52e5e --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagAtomicUnion.json @@ -0,0 +1,151 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagCustom.json b/test/schemas/json.application/v3_1/TypeTagCustom.json new file mode 100644 index 0000000000..45601bace4 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagCustom.json @@ -0,0 +1,143 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagCustom": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagCustom" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagCustom" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagDefault.json b/test/schemas/json.application/v3_1/TypeTagDefault.json new file mode 100644 index 0000000000..c011195db1 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagDefault.json @@ -0,0 +1,218 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagDefault" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagDefault" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagFormat.json b/test/schemas/json.application/v3_1/TypeTagFormat.json new file mode 100644 index 0000000000..b7971a1cfc --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagFormat.json @@ -0,0 +1,233 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagFormat" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagFormat" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagLength.json b/test/schemas/json.application/v3_1/TypeTagLength.json new file mode 100644 index 0000000000..5fa96ae9c6 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagLength.json @@ -0,0 +1,165 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagLength" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagLength" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagLength" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagMatrix.json b/test/schemas/json.application/v3_1/TypeTagMatrix.json new file mode 100644 index 0000000000..b9457cc71d --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagMatrix.json @@ -0,0 +1,138 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagMatrix": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagMatrix" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagObjectUnion.json b/test/schemas/json.application/v3_1/TypeTagObjectUnion.json new file mode 100644 index 0000000000..6f07d7d8a4 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagObjectUnion.json @@ -0,0 +1,157 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagObjectUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagPattern.json b/test/schemas/json.application/v3_1/TypeTagPattern.json new file mode 100644 index 0000000000..c34dbc9602 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagPattern.json @@ -0,0 +1,143 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagPattern" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagPattern" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagRange.json b/test/schemas/json.application/v3_1/TypeTagRange.json new file mode 100644 index 0000000000..8d8fac8368 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagRange.json @@ -0,0 +1,193 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagRange" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagRange" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagRange" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagTuple.json b/test/schemas/json.application/v3_1/TypeTagTuple.json new file mode 100644 index 0000000000..0b2b167669 --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagTuple.json @@ -0,0 +1,160 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagTuple": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagTuple" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagTuple" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/TypeTagType.json b/test/schemas/json.application/v3_1/TypeTagType.json new file mode 100644 index 0000000000..879e48b76c --- /dev/null +++ b/test/schemas/json.application/v3_1/TypeTagType.json @@ -0,0 +1,165 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "TypeTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagType" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/TypeTagType" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/TypeTagType" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.application/v3_1/UltimateUnion.json b/test/schemas/json.application/v3_1/UltimateUnion.json new file mode 100644 index 0000000000..102286b9ea --- /dev/null +++ b/test/schemas/json.application/v3_1/UltimateUnion.json @@ -0,0 +1,1202 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "UltimateUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IJsonSchemaCollection.IV3_1Arrayunknown" + } + }, + "IJsonSchemaCollection.IV3_1Arrayunknown": { + "type": "object", + "properties": { + "version": { + "const": "3.1" + }, + "components": { + "$ref": "#/components/schemas/OpenApi.IComponentsOpenApi.IJsonSchema" + }, + "schemas": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "__types": { + "type": "array", + "items": {} + } + }, + "required": [ + "version", + "components", + "schemas" + ] + }, + "OpenApi.IComponentsOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "schemas": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "An object to hold reusable DTO schemas", + "description": "An object to hold reusable DTO schemas.\n\nIn other words, a collection of named JSON schemas." + }, + "securitySchemes": { + "$ref": "#/components/schemas/RecordstringOpenApi.ISecurityScheme", + "title": "An object to hold reusable security schemes", + "description": "An object to hold reusable security schemes.\n\nIn other words, a collection of named security schemes." + } + }, + "description": "Reusable components in OpenAPI.\n\nA storage of reusable components in OpenAPI document.\n\nIn other words, it is a storage of named DTO schemas and security schemes." + }, + "RecordstringOpenApi.IJsonSchema": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "OpenApi.IJsonSchema": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Type schema info", + "description": "Type schema info.\n\n`OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n\n`OpenApi.IJsonSchema` basically follows the JSON schema definition of\nOpenAPI v3.1, but a little bit shrinked to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience and clarity.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@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 {@link OpenApi.IJsonSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}" + }, + "OpenApi.IJsonSchema.IString": { + "type": "object", + "properties": { + "default": { + "type": "string", + "title": "Default value", + "description": "Default value." + }, + "format": { + "type": "string", + "title": "Format restriction", + "description": "Format restriction." + }, + "pattern": { + "type": "string", + "title": "Pattern restriction", + "description": "Pattern restriction." + }, + "contentMediaType": { + "type": "string", + "title": "Content media type restriction", + "description": "Content media type restriction." + }, + "minLength": { + "type": "integer", + "title": "Minimum length restriction", + "description": "Minimum length restriction." + }, + "maxLength": { + "type": "integer", + "title": "Maximum length restriction", + "description": "Maximum length restriction." + }, + "type": { + "const": "string", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "String type info." + }, + "Recordstringany": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": {} + }, + "OpenApi.IJsonSchema.INumber": { + "type": "object", + "properties": { + "default": { + "type": "number", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "number", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "number", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "const": "number", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Number (double) type info." + }, + "OpenApi.IJsonSchema.IConstant": { + "type": "object", + "properties": { + "const": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "The constant value", + "description": "The constant value." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "const" + ], + "description": "Constant value type." + }, + "OpenApi.IJsonSchema.IBoolean": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "title": "The default value", + "description": "The default value." + }, + "type": { + "const": "boolean", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Boolean type info." + }, + "OpenApi.IJsonSchema.IInteger": { + "type": "object", + "properties": { + "default": { + "type": "integer", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "integer", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "integer", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "const": "integer", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Integer type info." + }, + "OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema", + "title": "Items type info", + "description": "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type `Array`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the array." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the array." + }, + "type": { + "const": "array", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "items", + "type" + ], + "description": "Array type info." + }, + "OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "prefixItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + }, + "title": "Prefix items", + "description": "Prefix items.\n\nThe `prefixItems` means the type schema info of the prefix items in the\ntuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n\nIf you want to express `[T1, T2, ...TO[]]` type, you can configure the\n`...TO[]` through the {@link additionalItems} property." + }, + "additionalItems": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional items", + "description": "Additional items.\n\nThe `additionalItems` means the type schema info of the additional items\nafter the {@link prefixItems}. In the TypeScript, if there's a type\n`[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n\nBy the way, if you configure the `additionalItems` as `true`, it means\nthe additional items are not restricted. They can be any type, so that\nit is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n\nOtherwise configure the `additionalItems` as the {@link IJsonSchema},\nit means the additional items must follow the type schema info.\nTherefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target tuple must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the tuple." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the tuple." + }, + "type": { + "const": "array", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "prefixItems", + "type" + ], + "description": "Tuple type info." + }, + "OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "Properties of the object", + "description": "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property,\nand the value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead." + }, + "additionalProperties": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional properties' info", + "description": "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `true`, it means that the additional properties are not\nrestricted. They can be any type. Otherwise, if the value is\n{@link IOpenAiSchema} type, it means that the additional properties must\nfollow the type schema info.\n\n- `true`: `Record`\n- `IOpenAiSchema`: `Record`" + }, + "required": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of key values of the required properties", + "description": "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be filled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso 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```" + }, + "type": { + "const": "object", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "properties", + "type" + ], + "description": "Object type info." + }, + "OpenApi.IJsonSchema.IReferencestring": { + "type": "object", + "properties": { + "$ref": { + "type": "string", + "title": "Reference to the named schema", + "description": "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link OpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`" + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "$ref" + ], + "description": "Reference type directing named schema." + }, + "OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "oneOf": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ] + }, + "title": "List of the union types", + "description": "List of the union types." + }, + "discriminator": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOf.IDiscriminator", + "title": "Discriminator info of the union type", + "description": "Discriminator info of the union type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "oneOf" + ], + "description": "Union type.\n\nIOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\nconverts it to `oneOf` type." + }, + "OpenApi.IJsonSchema.INull": { + "type": "object", + "properties": { + "default": { + "type": "null", + "title": "Default value", + "description": "Default value." + }, + "type": { + "const": "null", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Null type." + }, + "OpenApi.IJsonSchema.IUnknown": { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "description": "Unknown, the `any` type." + }, + "OpenApi.IJsonSchema.IOneOf.IDiscriminator": { + "type": "object", + "properties": { + "propertyName": { + "type": "string", + "title": "Property name for the discriminator", + "description": "Property name for the discriminator." + }, + "mapping": { + "$ref": "#/components/schemas/Recordstringstring", + "title": "Mapping of the discriminator value to the schema name", + "description": "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\nthe discriminator value, and `value` of `mapping` is the\nschema name like `#/components/schemas/SomeObject`." + } + }, + "required": [ + "propertyName" + ], + "description": "Discriminator info of the union type." + }, + "Recordstringstring": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "string" + } + }, + "RecordstringOpenApi.ISecurityScheme": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme" + } + }, + "OpenApi.ISecurityScheme": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IApiKey" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBasic" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBearer" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOpenId" + } + ], + "title": "Security scheme of Swagger Documents", + "description": "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\nsecurity schemes as an union type like below." + }, + "OpenApi.ISecurityScheme.IApiKey": { + "type": "object", + "properties": { + "type": { + "const": "apiKey" + }, + "in": { + "oneOf": [ + { + "const": "cookie" + }, + { + "const": "header" + }, + { + "const": "query" + } + ] + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type" + ], + "description": "Normal API key type." + }, + "OpenApi.ISecurityScheme.IHttpBasic": { + "type": "object", + "properties": { + "type": { + "const": "http" + }, + "scheme": { + "const": "basic" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP basic authentication type." + }, + "OpenApi.ISecurityScheme.IHttpBearer": { + "type": "object", + "properties": { + "type": { + "const": "http" + }, + "scheme": { + "const": "bearer" + }, + "bearerFormat": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP bearer authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2": { + "type": "object", + "properties": { + "type": { + "const": "oauth2" + }, + "flows": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlowSet" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "flows" + ], + "description": "OAuth2 authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlowSet": { + "type": "object", + "properties": { + "authorizationCode": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlow" + }, + "implicit": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl" + }, + "password": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + }, + "clientCredentials": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + } + } + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlow": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + } + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl": { + "type": "object", + "properties": { + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OpenApi.ISecurityScheme.IOpenId": { + "type": "object", + "properties": { + "type": { + "const": "openIdConnect" + }, + "openIdConnectUrl": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "openIdConnectUrl" + ] + } + } + }, + "functions": [ + { + "name": "insert", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/UltimateUnion" + } + } + ] + }, + { + "name": "reduce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "$ref": "#/components/schemas/UltimateUnion" + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/UltimateUnion" + } + ] + } + } + ], + "output": { + "schema": { + "$ref": "#/components/schemas/UltimateUnion" + }, + "required": true + } + }, + { + "name": "coalesce", + "async": true, + "parameters": [ + { + "name": "first", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/UltimateUnion" + } + ] + } + }, + { + "name": "second", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/UltimateUnion" + } + ] + } + }, + { + "name": "third", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/UltimateUnion" + } + ] + } + } + ], + "output": { + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/UltimateUnion" + } + ] + }, + "required": true + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/json/v3_0/ArrayAny.json b/test/schemas/json.schemas/v3_0/ArrayAny.json similarity index 100% rename from test/schemas/json/v3_0/ArrayAny.json rename to test/schemas/json.schemas/v3_0/ArrayAny.json diff --git a/test/schemas/json/v3_0/ArrayAtomicAlias.json b/test/schemas/json.schemas/v3_0/ArrayAtomicAlias.json similarity index 100% rename from test/schemas/json/v3_0/ArrayAtomicAlias.json rename to test/schemas/json.schemas/v3_0/ArrayAtomicAlias.json diff --git a/test/schemas/json/v3_0/ArrayAtomicSimple.json b/test/schemas/json.schemas/v3_0/ArrayAtomicSimple.json similarity index 100% rename from test/schemas/json/v3_0/ArrayAtomicSimple.json rename to test/schemas/json.schemas/v3_0/ArrayAtomicSimple.json diff --git a/test/schemas/json/v3_0/ArrayHierarchical.json b/test/schemas/json.schemas/v3_0/ArrayHierarchical.json similarity index 100% rename from test/schemas/json/v3_0/ArrayHierarchical.json rename to test/schemas/json.schemas/v3_0/ArrayHierarchical.json diff --git a/test/schemas/json/v3_0/ArrayHierarchicalPointer.json b/test/schemas/json.schemas/v3_0/ArrayHierarchicalPointer.json similarity index 100% rename from test/schemas/json/v3_0/ArrayHierarchicalPointer.json rename to test/schemas/json.schemas/v3_0/ArrayHierarchicalPointer.json diff --git a/test/schemas/json/v3_0/ArrayMatrix.json b/test/schemas/json.schemas/v3_0/ArrayMatrix.json similarity index 100% rename from test/schemas/json/v3_0/ArrayMatrix.json rename to test/schemas/json.schemas/v3_0/ArrayMatrix.json diff --git a/test/schemas/json/v3_0/ArrayRecursive.json b/test/schemas/json.schemas/v3_0/ArrayRecursive.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRecursive.json rename to test/schemas/json.schemas/v3_0/ArrayRecursive.json diff --git a/test/schemas/json/v3_0/ArrayRecursiveUnionExplicit.json b/test/schemas/json.schemas/v3_0/ArrayRecursiveUnionExplicit.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRecursiveUnionExplicit.json rename to test/schemas/json.schemas/v3_0/ArrayRecursiveUnionExplicit.json diff --git a/test/schemas/json/v3_0/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/json.schemas/v3_0/ArrayRecursiveUnionExplicitPointer.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRecursiveUnionExplicitPointer.json rename to test/schemas/json.schemas/v3_0/ArrayRecursiveUnionExplicitPointer.json diff --git a/test/schemas/json/v3_0/ArrayRecursiveUnionImplicit.json b/test/schemas/json.schemas/v3_0/ArrayRecursiveUnionImplicit.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRecursiveUnionImplicit.json rename to test/schemas/json.schemas/v3_0/ArrayRecursiveUnionImplicit.json diff --git a/test/schemas/json/v3_0/ArrayRepeatedNullable.json b/test/schemas/json.schemas/v3_0/ArrayRepeatedNullable.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRepeatedNullable.json rename to test/schemas/json.schemas/v3_0/ArrayRepeatedNullable.json diff --git a/test/schemas/json/v3_0/ArrayRepeatedRequired.json b/test/schemas/json.schemas/v3_0/ArrayRepeatedRequired.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRepeatedRequired.json rename to test/schemas/json.schemas/v3_0/ArrayRepeatedRequired.json diff --git a/test/schemas/json/v3_0/ArrayRepeatedUnion.json b/test/schemas/json.schemas/v3_0/ArrayRepeatedUnion.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRepeatedUnion.json rename to test/schemas/json.schemas/v3_0/ArrayRepeatedUnion.json diff --git a/test/schemas/json/v3_0/ArrayRepeatedUnionWithTuple.json b/test/schemas/json.schemas/v3_0/ArrayRepeatedUnionWithTuple.json similarity index 100% rename from test/schemas/json/v3_0/ArrayRepeatedUnionWithTuple.json rename to test/schemas/json.schemas/v3_0/ArrayRepeatedUnionWithTuple.json diff --git a/test/schemas/json/v3_0/ArraySimple.json b/test/schemas/json.schemas/v3_0/ArraySimple.json similarity index 100% rename from test/schemas/json/v3_0/ArraySimple.json rename to test/schemas/json.schemas/v3_0/ArraySimple.json diff --git a/test/schemas/json/v3_0/ArrayUnion.json b/test/schemas/json.schemas/v3_0/ArrayUnion.json similarity index 100% rename from test/schemas/json/v3_0/ArrayUnion.json rename to test/schemas/json.schemas/v3_0/ArrayUnion.json diff --git a/test/schemas/json/v3_0/AtomicAlias.json b/test/schemas/json.schemas/v3_0/AtomicAlias.json similarity index 100% rename from test/schemas/json/v3_0/AtomicAlias.json rename to test/schemas/json.schemas/v3_0/AtomicAlias.json diff --git a/test/schemas/json/v3_0/AtomicClass.json b/test/schemas/json.schemas/v3_0/AtomicClass.json similarity index 100% rename from test/schemas/json/v3_0/AtomicClass.json rename to test/schemas/json.schemas/v3_0/AtomicClass.json diff --git a/test/schemas/json/v3_0/AtomicIntersection.json b/test/schemas/json.schemas/v3_0/AtomicIntersection.json similarity index 100% rename from test/schemas/json/v3_0/AtomicIntersection.json rename to test/schemas/json.schemas/v3_0/AtomicIntersection.json diff --git a/test/schemas/json/v3_0/AtomicSimple.json b/test/schemas/json.schemas/v3_0/AtomicSimple.json similarity index 100% rename from test/schemas/json/v3_0/AtomicSimple.json rename to test/schemas/json.schemas/v3_0/AtomicSimple.json diff --git a/test/schemas/json/v3_0/AtomicUnion.json b/test/schemas/json.schemas/v3_0/AtomicUnion.json similarity index 100% rename from test/schemas/json/v3_0/AtomicUnion.json rename to test/schemas/json.schemas/v3_0/AtomicUnion.json diff --git a/test/schemas/json/v3_0/ClassGetter.json b/test/schemas/json.schemas/v3_0/ClassGetter.json similarity index 100% rename from test/schemas/json/v3_0/ClassGetter.json rename to test/schemas/json.schemas/v3_0/ClassGetter.json diff --git a/test/schemas/json/v3_0/ClassMethod.json b/test/schemas/json.schemas/v3_0/ClassMethod.json similarity index 100% rename from test/schemas/json/v3_0/ClassMethod.json rename to test/schemas/json.schemas/v3_0/ClassMethod.json diff --git a/test/schemas/json/v3_0/ClassPropertyAssignment.json b/test/schemas/json.schemas/v3_0/ClassPropertyAssignment.json similarity index 100% rename from test/schemas/json/v3_0/ClassPropertyAssignment.json rename to test/schemas/json.schemas/v3_0/ClassPropertyAssignment.json diff --git a/test/schemas/json/v3_0/CommentTagArray.json b/test/schemas/json.schemas/v3_0/CommentTagArray.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagArray.json rename to test/schemas/json.schemas/v3_0/CommentTagArray.json diff --git a/test/schemas/json/v3_0/CommentTagArrayUnion.json b/test/schemas/json.schemas/v3_0/CommentTagArrayUnion.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagArrayUnion.json rename to test/schemas/json.schemas/v3_0/CommentTagArrayUnion.json diff --git a/test/schemas/json/v3_0/CommentTagAtomicUnion.json b/test/schemas/json.schemas/v3_0/CommentTagAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagAtomicUnion.json rename to test/schemas/json.schemas/v3_0/CommentTagAtomicUnion.json diff --git a/test/schemas/json/v3_0/CommentTagDefault.json b/test/schemas/json.schemas/v3_0/CommentTagDefault.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagDefault.json rename to test/schemas/json.schemas/v3_0/CommentTagDefault.json diff --git a/test/schemas/json/v3_0/CommentTagFormat.json b/test/schemas/json.schemas/v3_0/CommentTagFormat.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagFormat.json rename to test/schemas/json.schemas/v3_0/CommentTagFormat.json diff --git a/test/schemas/json/v3_0/CommentTagLength.json b/test/schemas/json.schemas/v3_0/CommentTagLength.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagLength.json rename to test/schemas/json.schemas/v3_0/CommentTagLength.json diff --git a/test/schemas/json/v3_0/CommentTagObjectUnion.json b/test/schemas/json.schemas/v3_0/CommentTagObjectUnion.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagObjectUnion.json rename to test/schemas/json.schemas/v3_0/CommentTagObjectUnion.json diff --git a/test/schemas/json/v3_0/CommentTagPattern.json b/test/schemas/json.schemas/v3_0/CommentTagPattern.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagPattern.json rename to test/schemas/json.schemas/v3_0/CommentTagPattern.json diff --git a/test/schemas/json/v3_0/CommentTagRange.json b/test/schemas/json.schemas/v3_0/CommentTagRange.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagRange.json rename to test/schemas/json.schemas/v3_0/CommentTagRange.json diff --git a/test/schemas/json/v3_0/CommentTagType.json b/test/schemas/json.schemas/v3_0/CommentTagType.json similarity index 100% rename from test/schemas/json/v3_0/CommentTagType.json rename to test/schemas/json.schemas/v3_0/CommentTagType.json diff --git a/test/schemas/json/v3_0/ConstantAtomicAbsorbed.json b/test/schemas/json.schemas/v3_0/ConstantAtomicAbsorbed.json similarity index 100% rename from test/schemas/json/v3_0/ConstantAtomicAbsorbed.json rename to test/schemas/json.schemas/v3_0/ConstantAtomicAbsorbed.json diff --git a/test/schemas/json.schemas/v3_0/ConstantAtomicSimple.json b/test/schemas/json.schemas/v3_0/ConstantAtomicSimple.json new file mode 100644 index 0000000000..d8390c9cb9 --- /dev/null +++ b/test/schemas/json.schemas/v3_0/ConstantAtomicSimple.json @@ -0,0 +1,45 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + } + }, + "schemas": [ + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] +} \ No newline at end of file diff --git a/test/schemas/json/v3_0/ConstantAtomicTagged.json b/test/schemas/json.schemas/v3_0/ConstantAtomicTagged.json similarity index 100% rename from test/schemas/json/v3_0/ConstantAtomicTagged.json rename to test/schemas/json.schemas/v3_0/ConstantAtomicTagged.json diff --git a/test/schemas/json/v3_0/ConstantAtomicUnion.json b/test/schemas/json.schemas/v3_0/ConstantAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_0/ConstantAtomicUnion.json rename to test/schemas/json.schemas/v3_0/ConstantAtomicUnion.json diff --git a/test/schemas/json/v3_0/ConstantAtomicWrapper.json b/test/schemas/json.schemas/v3_0/ConstantAtomicWrapper.json similarity index 100% rename from test/schemas/json/v3_0/ConstantAtomicWrapper.json rename to test/schemas/json.schemas/v3_0/ConstantAtomicWrapper.json diff --git a/test/schemas/json/v3_0/ConstantConstEnumeration.json b/test/schemas/json.schemas/v3_0/ConstantConstEnumeration.json similarity index 100% rename from test/schemas/json/v3_0/ConstantConstEnumeration.json rename to test/schemas/json.schemas/v3_0/ConstantConstEnumeration.json diff --git a/test/schemas/json/v3_0/ConstantEnumeration.json b/test/schemas/json.schemas/v3_0/ConstantEnumeration.json similarity index 100% rename from test/schemas/json/v3_0/ConstantEnumeration.json rename to test/schemas/json.schemas/v3_0/ConstantEnumeration.json diff --git a/test/schemas/json/v3_0/ConstantIntersection.json b/test/schemas/json.schemas/v3_0/ConstantIntersection.json similarity index 100% rename from test/schemas/json/v3_0/ConstantIntersection.json rename to test/schemas/json.schemas/v3_0/ConstantIntersection.json diff --git a/test/schemas/json/v3_0/DynamicArray.json b/test/schemas/json.schemas/v3_0/DynamicArray.json similarity index 100% rename from test/schemas/json/v3_0/DynamicArray.json rename to test/schemas/json.schemas/v3_0/DynamicArray.json diff --git a/test/schemas/json/v3_0/DynamicComposite.json b/test/schemas/json.schemas/v3_0/DynamicComposite.json similarity index 100% rename from test/schemas/json/v3_0/DynamicComposite.json rename to test/schemas/json.schemas/v3_0/DynamicComposite.json diff --git a/test/schemas/json/v3_0/DynamicConstant.json b/test/schemas/json.schemas/v3_0/DynamicConstant.json similarity index 100% rename from test/schemas/json/v3_0/DynamicConstant.json rename to test/schemas/json.schemas/v3_0/DynamicConstant.json diff --git a/test/schemas/json/v3_0/DynamicEnumeration.json b/test/schemas/json.schemas/v3_0/DynamicEnumeration.json similarity index 100% rename from test/schemas/json/v3_0/DynamicEnumeration.json rename to test/schemas/json.schemas/v3_0/DynamicEnumeration.json diff --git a/test/schemas/json/v3_0/DynamicNever.json b/test/schemas/json.schemas/v3_0/DynamicNever.json similarity index 100% rename from test/schemas/json/v3_0/DynamicNever.json rename to test/schemas/json.schemas/v3_0/DynamicNever.json diff --git a/test/schemas/json/v3_0/DynamicSimple.json b/test/schemas/json.schemas/v3_0/DynamicSimple.json similarity index 100% rename from test/schemas/json/v3_0/DynamicSimple.json rename to test/schemas/json.schemas/v3_0/DynamicSimple.json diff --git a/test/schemas/json/v3_0/DynamicTemplate.json b/test/schemas/json.schemas/v3_0/DynamicTemplate.json similarity index 100% rename from test/schemas/json/v3_0/DynamicTemplate.json rename to test/schemas/json.schemas/v3_0/DynamicTemplate.json diff --git a/test/schemas/json/v3_0/DynamicTree.json b/test/schemas/json.schemas/v3_0/DynamicTree.json similarity index 100% rename from test/schemas/json/v3_0/DynamicTree.json rename to test/schemas/json.schemas/v3_0/DynamicTree.json diff --git a/test/schemas/json/v3_0/DynamicUndefined.json b/test/schemas/json.schemas/v3_0/DynamicUndefined.json similarity index 100% rename from test/schemas/json/v3_0/DynamicUndefined.json rename to test/schemas/json.schemas/v3_0/DynamicUndefined.json diff --git a/test/schemas/json/v3_0/DynamicUnion.json b/test/schemas/json.schemas/v3_0/DynamicUnion.json similarity index 100% rename from test/schemas/json/v3_0/DynamicUnion.json rename to test/schemas/json.schemas/v3_0/DynamicUnion.json diff --git a/test/schemas/json/v3_0/ObjectAlias.json b/test/schemas/json.schemas/v3_0/ObjectAlias.json similarity index 100% rename from test/schemas/json/v3_0/ObjectAlias.json rename to test/schemas/json.schemas/v3_0/ObjectAlias.json diff --git a/test/schemas/json/v3_0/ObjectDate.json b/test/schemas/json.schemas/v3_0/ObjectDate.json similarity index 100% rename from test/schemas/json/v3_0/ObjectDate.json rename to test/schemas/json.schemas/v3_0/ObjectDate.json diff --git a/test/schemas/json/v3_0/ObjectDescription.json b/test/schemas/json.schemas/v3_0/ObjectDescription.json similarity index 100% rename from test/schemas/json/v3_0/ObjectDescription.json rename to test/schemas/json.schemas/v3_0/ObjectDescription.json diff --git a/test/schemas/json/v3_0/ObjectDynamic.json b/test/schemas/json.schemas/v3_0/ObjectDynamic.json similarity index 100% rename from test/schemas/json/v3_0/ObjectDynamic.json rename to test/schemas/json.schemas/v3_0/ObjectDynamic.json diff --git a/test/schemas/json/v3_0/ObjectGeneric.json b/test/schemas/json.schemas/v3_0/ObjectGeneric.json similarity index 100% rename from test/schemas/json/v3_0/ObjectGeneric.json rename to test/schemas/json.schemas/v3_0/ObjectGeneric.json diff --git a/test/schemas/json/v3_0/ObjectGenericAlias.json b/test/schemas/json.schemas/v3_0/ObjectGenericAlias.json similarity index 100% rename from test/schemas/json/v3_0/ObjectGenericAlias.json rename to test/schemas/json.schemas/v3_0/ObjectGenericAlias.json diff --git a/test/schemas/json/v3_0/ObjectGenericArray.json b/test/schemas/json.schemas/v3_0/ObjectGenericArray.json similarity index 100% rename from test/schemas/json/v3_0/ObjectGenericArray.json rename to test/schemas/json.schemas/v3_0/ObjectGenericArray.json diff --git a/test/schemas/json/v3_0/ObjectGenericUnion.json b/test/schemas/json.schemas/v3_0/ObjectGenericUnion.json similarity index 100% rename from test/schemas/json/v3_0/ObjectGenericUnion.json rename to test/schemas/json.schemas/v3_0/ObjectGenericUnion.json diff --git a/test/schemas/json/v3_0/ObjectHierarchical.json b/test/schemas/json.schemas/v3_0/ObjectHierarchical.json similarity index 100% rename from test/schemas/json/v3_0/ObjectHierarchical.json rename to test/schemas/json.schemas/v3_0/ObjectHierarchical.json diff --git a/test/schemas/json/v3_0/ObjectInternal.json b/test/schemas/json.schemas/v3_0/ObjectInternal.json similarity index 100% rename from test/schemas/json/v3_0/ObjectInternal.json rename to test/schemas/json.schemas/v3_0/ObjectInternal.json diff --git a/test/schemas/json/v3_0/ObjectIntersection.json b/test/schemas/json.schemas/v3_0/ObjectIntersection.json similarity index 100% rename from test/schemas/json/v3_0/ObjectIntersection.json rename to test/schemas/json.schemas/v3_0/ObjectIntersection.json diff --git a/test/schemas/json/v3_0/ObjectJsonTag.json b/test/schemas/json.schemas/v3_0/ObjectJsonTag.json similarity index 100% rename from test/schemas/json/v3_0/ObjectJsonTag.json rename to test/schemas/json.schemas/v3_0/ObjectJsonTag.json diff --git a/test/schemas/json/v3_0/ObjectLiteralProperty.json b/test/schemas/json.schemas/v3_0/ObjectLiteralProperty.json similarity index 100% rename from test/schemas/json/v3_0/ObjectLiteralProperty.json rename to test/schemas/json.schemas/v3_0/ObjectLiteralProperty.json diff --git a/test/schemas/json/v3_0/ObjectLiteralType.json b/test/schemas/json.schemas/v3_0/ObjectLiteralType.json similarity index 100% rename from test/schemas/json/v3_0/ObjectLiteralType.json rename to test/schemas/json.schemas/v3_0/ObjectLiteralType.json diff --git a/test/schemas/json/v3_0/ObjectNullable.json b/test/schemas/json.schemas/v3_0/ObjectNullable.json similarity index 100% rename from test/schemas/json/v3_0/ObjectNullable.json rename to test/schemas/json.schemas/v3_0/ObjectNullable.json diff --git a/test/schemas/json/v3_0/ObjectOptional.json b/test/schemas/json.schemas/v3_0/ObjectOptional.json similarity index 100% rename from test/schemas/json/v3_0/ObjectOptional.json rename to test/schemas/json.schemas/v3_0/ObjectOptional.json diff --git a/test/schemas/json/v3_0/ObjectPartial.json b/test/schemas/json.schemas/v3_0/ObjectPartial.json similarity index 100% rename from test/schemas/json/v3_0/ObjectPartial.json rename to test/schemas/json.schemas/v3_0/ObjectPartial.json diff --git a/test/schemas/json/v3_0/ObjectPartialAndRequired.json b/test/schemas/json.schemas/v3_0/ObjectPartialAndRequired.json similarity index 100% rename from test/schemas/json/v3_0/ObjectPartialAndRequired.json rename to test/schemas/json.schemas/v3_0/ObjectPartialAndRequired.json diff --git a/test/schemas/json/v3_0/ObjectPrimitive.json b/test/schemas/json.schemas/v3_0/ObjectPrimitive.json similarity index 100% rename from test/schemas/json/v3_0/ObjectPrimitive.json rename to test/schemas/json.schemas/v3_0/ObjectPrimitive.json diff --git a/test/schemas/json/v3_0/ObjectPropertyNullable.json b/test/schemas/json.schemas/v3_0/ObjectPropertyNullable.json similarity index 100% rename from test/schemas/json/v3_0/ObjectPropertyNullable.json rename to test/schemas/json.schemas/v3_0/ObjectPropertyNullable.json diff --git a/test/schemas/json/v3_0/ObjectRecursive.json b/test/schemas/json.schemas/v3_0/ObjectRecursive.json similarity index 100% rename from test/schemas/json/v3_0/ObjectRecursive.json rename to test/schemas/json.schemas/v3_0/ObjectRecursive.json diff --git a/test/schemas/json/v3_0/ObjectRequired.json b/test/schemas/json.schemas/v3_0/ObjectRequired.json similarity index 100% rename from test/schemas/json/v3_0/ObjectRequired.json rename to test/schemas/json.schemas/v3_0/ObjectRequired.json diff --git a/test/schemas/json/v3_0/ObjectSimple.json b/test/schemas/json.schemas/v3_0/ObjectSimple.json similarity index 100% rename from test/schemas/json/v3_0/ObjectSimple.json rename to test/schemas/json.schemas/v3_0/ObjectSimple.json diff --git a/test/schemas/json/v3_0/ObjectTuple.json b/test/schemas/json.schemas/v3_0/ObjectTuple.json similarity index 100% rename from test/schemas/json/v3_0/ObjectTuple.json rename to test/schemas/json.schemas/v3_0/ObjectTuple.json diff --git a/test/schemas/json/v3_0/ObjectUndefined.json b/test/schemas/json.schemas/v3_0/ObjectUndefined.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUndefined.json rename to test/schemas/json.schemas/v3_0/ObjectUndefined.json diff --git a/test/schemas/json/v3_0/ObjectUnionComposite.json b/test/schemas/json.schemas/v3_0/ObjectUnionComposite.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUnionComposite.json rename to test/schemas/json.schemas/v3_0/ObjectUnionComposite.json diff --git a/test/schemas/json/v3_0/ObjectUnionCompositePointer.json b/test/schemas/json.schemas/v3_0/ObjectUnionCompositePointer.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUnionCompositePointer.json rename to test/schemas/json.schemas/v3_0/ObjectUnionCompositePointer.json diff --git a/test/schemas/json/v3_0/ObjectUnionDouble.json b/test/schemas/json.schemas/v3_0/ObjectUnionDouble.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUnionDouble.json rename to test/schemas/json.schemas/v3_0/ObjectUnionDouble.json diff --git a/test/schemas/json/v3_0/ObjectUnionExplicit.json b/test/schemas/json.schemas/v3_0/ObjectUnionExplicit.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUnionExplicit.json rename to test/schemas/json.schemas/v3_0/ObjectUnionExplicit.json diff --git a/test/schemas/json/v3_0/ObjectUnionExplicitPointer.json b/test/schemas/json.schemas/v3_0/ObjectUnionExplicitPointer.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUnionExplicitPointer.json rename to test/schemas/json.schemas/v3_0/ObjectUnionExplicitPointer.json diff --git a/test/schemas/json/v3_0/ObjectUnionImplicit.json b/test/schemas/json.schemas/v3_0/ObjectUnionImplicit.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUnionImplicit.json rename to test/schemas/json.schemas/v3_0/ObjectUnionImplicit.json diff --git a/test/schemas/json/v3_0/ObjectUnionNonPredictable.json b/test/schemas/json.schemas/v3_0/ObjectUnionNonPredictable.json similarity index 100% rename from test/schemas/json/v3_0/ObjectUnionNonPredictable.json rename to test/schemas/json.schemas/v3_0/ObjectUnionNonPredictable.json diff --git a/test/schemas/json/v3_0/TemplateAtomic.json b/test/schemas/json.schemas/v3_0/TemplateAtomic.json similarity index 100% rename from test/schemas/json/v3_0/TemplateAtomic.json rename to test/schemas/json.schemas/v3_0/TemplateAtomic.json diff --git a/test/schemas/json/v3_0/TemplateConstant.json b/test/schemas/json.schemas/v3_0/TemplateConstant.json similarity index 100% rename from test/schemas/json/v3_0/TemplateConstant.json rename to test/schemas/json.schemas/v3_0/TemplateConstant.json diff --git a/test/schemas/json/v3_0/TemplateUnion.json b/test/schemas/json.schemas/v3_0/TemplateUnion.json similarity index 100% rename from test/schemas/json/v3_0/TemplateUnion.json rename to test/schemas/json.schemas/v3_0/TemplateUnion.json diff --git a/test/schemas/json/v3_0/ToJsonArray.json b/test/schemas/json.schemas/v3_0/ToJsonArray.json similarity index 100% rename from test/schemas/json/v3_0/ToJsonArray.json rename to test/schemas/json.schemas/v3_0/ToJsonArray.json diff --git a/test/schemas/json/v3_0/ToJsonAtomicSimple.json b/test/schemas/json.schemas/v3_0/ToJsonAtomicSimple.json similarity index 100% rename from test/schemas/json/v3_0/ToJsonAtomicSimple.json rename to test/schemas/json.schemas/v3_0/ToJsonAtomicSimple.json diff --git a/test/schemas/json/v3_0/ToJsonAtomicUnion.json b/test/schemas/json.schemas/v3_0/ToJsonAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_0/ToJsonAtomicUnion.json rename to test/schemas/json.schemas/v3_0/ToJsonAtomicUnion.json diff --git a/test/schemas/json/v3_0/ToJsonDouble.json b/test/schemas/json.schemas/v3_0/ToJsonDouble.json similarity index 100% rename from test/schemas/json/v3_0/ToJsonDouble.json rename to test/schemas/json.schemas/v3_0/ToJsonDouble.json diff --git a/test/schemas/json/v3_0/ToJsonNull.json b/test/schemas/json.schemas/v3_0/ToJsonNull.json similarity index 100% rename from test/schemas/json/v3_0/ToJsonNull.json rename to test/schemas/json.schemas/v3_0/ToJsonNull.json diff --git a/test/schemas/json/v3_0/ToJsonTuple.json b/test/schemas/json.schemas/v3_0/ToJsonTuple.json similarity index 100% rename from test/schemas/json/v3_0/ToJsonTuple.json rename to test/schemas/json.schemas/v3_0/ToJsonTuple.json diff --git a/test/schemas/json/v3_0/ToJsonUnion.json b/test/schemas/json.schemas/v3_0/ToJsonUnion.json similarity index 100% rename from test/schemas/json/v3_0/ToJsonUnion.json rename to test/schemas/json.schemas/v3_0/ToJsonUnion.json diff --git a/test/schemas/json.schemas/v3_0/TupleHierarchical.json b/test/schemas/json.schemas/v3_0/TupleHierarchical.json new file mode 100644 index 0000000000..d201dbf747 --- /dev/null +++ b/test/schemas/json.schemas/v3_0/TupleHierarchical.json @@ -0,0 +1,135 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5 + } + } + }, + "schemas": [ + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.schemas/v3_0/TupleRestArray.json b/test/schemas/json.schemas/v3_0/TupleRestArray.json new file mode 100644 index 0000000000..baee1adf17 --- /dev/null +++ b/test/schemas/json.schemas/v3_0/TupleRestArray.json @@ -0,0 +1,32 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2 + } + } + }, + "schemas": [ + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.schemas/v3_0/TupleRestAtomic.json b/test/schemas/json.schemas/v3_0/TupleRestAtomic.json new file mode 100644 index 0000000000..a42d5a30ca --- /dev/null +++ b/test/schemas/json.schemas/v3_0/TupleRestAtomic.json @@ -0,0 +1,29 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2 + } + } + }, + "schemas": [ + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] +} \ No newline at end of file diff --git a/test/schemas/json.schemas/v3_0/TupleRestObject.json b/test/schemas/json.schemas/v3_0/TupleRestObject.json new file mode 100644 index 0000000000..a368fae0dd --- /dev/null +++ b/test/schemas/json.schemas/v3_0/TupleRestObject.json @@ -0,0 +1,40 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + ] + }, + "minItems": 2 + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schemas": [ + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] +} \ No newline at end of file diff --git a/test/schemas/json/v3_0/TypeTagArray.json b/test/schemas/json.schemas/v3_0/TypeTagArray.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagArray.json rename to test/schemas/json.schemas/v3_0/TypeTagArray.json diff --git a/test/schemas/json/v3_0/TypeTagArrayUnion.json b/test/schemas/json.schemas/v3_0/TypeTagArrayUnion.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagArrayUnion.json rename to test/schemas/json.schemas/v3_0/TypeTagArrayUnion.json diff --git a/test/schemas/json/v3_0/TypeTagAtomicUnion.json b/test/schemas/json.schemas/v3_0/TypeTagAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagAtomicUnion.json rename to test/schemas/json.schemas/v3_0/TypeTagAtomicUnion.json diff --git a/test/schemas/json/v3_0/TypeTagCustom.json b/test/schemas/json.schemas/v3_0/TypeTagCustom.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagCustom.json rename to test/schemas/json.schemas/v3_0/TypeTagCustom.json diff --git a/test/schemas/json/v3_0/TypeTagDefault.json b/test/schemas/json.schemas/v3_0/TypeTagDefault.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagDefault.json rename to test/schemas/json.schemas/v3_0/TypeTagDefault.json diff --git a/test/schemas/json/v3_0/TypeTagFormat.json b/test/schemas/json.schemas/v3_0/TypeTagFormat.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagFormat.json rename to test/schemas/json.schemas/v3_0/TypeTagFormat.json diff --git a/test/schemas/json/v3_0/TypeTagLength.json b/test/schemas/json.schemas/v3_0/TypeTagLength.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagLength.json rename to test/schemas/json.schemas/v3_0/TypeTagLength.json diff --git a/test/schemas/json/v3_0/TypeTagMatrix.json b/test/schemas/json.schemas/v3_0/TypeTagMatrix.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagMatrix.json rename to test/schemas/json.schemas/v3_0/TypeTagMatrix.json diff --git a/test/schemas/json/v3_0/TypeTagObjectUnion.json b/test/schemas/json.schemas/v3_0/TypeTagObjectUnion.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagObjectUnion.json rename to test/schemas/json.schemas/v3_0/TypeTagObjectUnion.json diff --git a/test/schemas/json/v3_0/TypeTagPattern.json b/test/schemas/json.schemas/v3_0/TypeTagPattern.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagPattern.json rename to test/schemas/json.schemas/v3_0/TypeTagPattern.json diff --git a/test/schemas/json/v3_0/TypeTagRange.json b/test/schemas/json.schemas/v3_0/TypeTagRange.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagRange.json rename to test/schemas/json.schemas/v3_0/TypeTagRange.json diff --git a/test/schemas/json/v3_0/TypeTagTuple.json b/test/schemas/json.schemas/v3_0/TypeTagTuple.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagTuple.json rename to test/schemas/json.schemas/v3_0/TypeTagTuple.json diff --git a/test/schemas/json/v3_0/TypeTagType.json b/test/schemas/json.schemas/v3_0/TypeTagType.json similarity index 100% rename from test/schemas/json/v3_0/TypeTagType.json rename to test/schemas/json.schemas/v3_0/TypeTagType.json diff --git a/test/schemas/json.schemas/v3_0/UltimateUnion.json b/test/schemas/json.schemas/v3_0/UltimateUnion.json new file mode 100644 index 0000000000..d6839b4dc0 --- /dev/null +++ b/test/schemas/json.schemas/v3_0/UltimateUnion.json @@ -0,0 +1,1141 @@ +{ + "version": "3.0", + "components": { + "schemas": { + "UltimateUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IJsonSchemaCollection.IV3_1Arrayunknown" + } + }, + "IJsonSchemaCollection.IV3_1Arrayunknown": { + "type": "object", + "properties": { + "version": { + "type": "string", + "enum": [ + "3.1" + ] + }, + "components": { + "$ref": "#/components/schemas/OpenApi.IComponentsOpenApi.IJsonSchema" + }, + "schemas": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "__types": { + "type": "array", + "items": {} + } + }, + "required": [ + "version", + "components", + "schemas" + ] + }, + "OpenApi.IComponentsOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "schemas": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "An object to hold reusable DTO schemas", + "description": "An object to hold reusable DTO schemas.\n\nIn other words, a collection of named JSON schemas." + }, + "securitySchemes": { + "$ref": "#/components/schemas/RecordstringOpenApi.ISecurityScheme", + "title": "An object to hold reusable security schemes", + "description": "An object to hold reusable security schemes.\n\nIn other words, a collection of named security schemes." + } + }, + "description": "Reusable components in OpenAPI.\n\nA storage of reusable components in OpenAPI document.\n\nIn other words, it is a storage of named DTO schemas and security schemes." + }, + "RecordstringOpenApi.IJsonSchema": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "OpenApi.IJsonSchema": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Type schema info", + "description": "Type schema info.\n\n`OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n\n`OpenApi.IJsonSchema` basically follows the JSON schema definition of\nOpenAPI v3.1, but a little bit shrinked to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience and clarity.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@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 {@link OpenApi.IJsonSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}" + }, + "OpenApi.IJsonSchema.IString": { + "type": "object", + "properties": { + "default": { + "type": "string", + "title": "Default value", + "description": "Default value." + }, + "format": { + "type": "string", + "title": "Format restriction", + "description": "Format restriction." + }, + "pattern": { + "type": "string", + "title": "Pattern restriction", + "description": "Pattern restriction." + }, + "contentMediaType": { + "type": "string", + "title": "Content media type restriction", + "description": "Content media type restriction." + }, + "minLength": { + "type": "integer", + "title": "Minimum length restriction", + "description": "Minimum length restriction." + }, + "maxLength": { + "type": "integer", + "title": "Maximum length restriction", + "description": "Maximum length restriction." + }, + "type": { + "type": "string", + "enum": [ + "string" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "String type info." + }, + "Recordstringany": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": {} + }, + "OpenApi.IJsonSchema.INumber": { + "type": "object", + "properties": { + "default": { + "type": "number", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "number", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "number", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "type": "string", + "enum": [ + "number" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Number (double) type info." + }, + "OpenApi.IJsonSchema.IConstant": { + "type": "object", + "properties": { + "const": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "The constant value", + "description": "The constant value." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "const" + ], + "description": "Constant value type." + }, + "OpenApi.IJsonSchema.IBoolean": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "title": "The default value", + "description": "The default value." + }, + "type": { + "type": "string", + "enum": [ + "boolean" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Boolean type info." + }, + "OpenApi.IJsonSchema.IInteger": { + "type": "object", + "properties": { + "default": { + "type": "integer", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "integer", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "integer", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "type": "string", + "enum": [ + "integer" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Integer type info." + }, + "OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema", + "title": "Items type info", + "description": "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type `Array`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the array." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the array." + }, + "type": { + "type": "string", + "enum": [ + "array" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "items", + "type" + ], + "description": "Array type info." + }, + "OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "prefixItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + }, + "title": "Prefix items", + "description": "Prefix items.\n\nThe `prefixItems` means the type schema info of the prefix items in the\ntuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n\nIf you want to express `[T1, T2, ...TO[]]` type, you can configure the\n`...TO[]` through the {@link additionalItems} property." + }, + "additionalItems": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional items", + "description": "Additional items.\n\nThe `additionalItems` means the type schema info of the additional items\nafter the {@link prefixItems}. In the TypeScript, if there's a type\n`[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n\nBy the way, if you configure the `additionalItems` as `true`, it means\nthe additional items are not restricted. They can be any type, so that\nit is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n\nOtherwise configure the `additionalItems` as the {@link IJsonSchema},\nit means the additional items must follow the type schema info.\nTherefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target tuple must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the tuple." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the tuple." + }, + "type": { + "type": "string", + "enum": [ + "array" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "prefixItems", + "type" + ], + "description": "Tuple type info." + }, + "OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "Properties of the object", + "description": "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property,\nand the value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead." + }, + "additionalProperties": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional properties' info", + "description": "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `true`, it means that the additional properties are not\nrestricted. They can be any type. Otherwise, if the value is\n{@link IOpenAiSchema} type, it means that the additional properties must\nfollow the type schema info.\n\n- `true`: `Record`\n- `IOpenAiSchema`: `Record`" + }, + "required": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of key values of the required properties", + "description": "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be filled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso 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```" + }, + "type": { + "type": "string", + "enum": [ + "object" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "properties", + "type" + ], + "description": "Object type info." + }, + "OpenApi.IJsonSchema.IReferencestring": { + "type": "object", + "properties": { + "$ref": { + "type": "string", + "title": "Reference to the named schema", + "description": "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link OpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`" + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "$ref" + ], + "description": "Reference type directing named schema." + }, + "OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "oneOf": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ] + }, + "title": "List of the union types", + "description": "List of the union types." + }, + "discriminator": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOf.IDiscriminator", + "title": "Discriminator info of the union type", + "description": "Discriminator info of the union type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "oneOf" + ], + "description": "Union type.\n\nIOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\nconverts it to `oneOf` type." + }, + "OpenApi.IJsonSchema.INull": { + "type": "object", + "properties": { + "default": { + "type": "null", + "title": "Default value", + "description": "Default value." + }, + "type": { + "type": "string", + "enum": [ + "null" + ], + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Null type." + }, + "OpenApi.IJsonSchema.IUnknown": { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "description": "Unknown, the `any` type." + }, + "OpenApi.IJsonSchema.IOneOf.IDiscriminator": { + "type": "object", + "properties": { + "propertyName": { + "type": "string", + "title": "Property name for the discriminator", + "description": "Property name for the discriminator." + }, + "mapping": { + "$ref": "#/components/schemas/Recordstringstring", + "title": "Mapping of the discriminator value to the schema name", + "description": "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\nthe discriminator value, and `value` of `mapping` is the\nschema name like `#/components/schemas/SomeObject`." + } + }, + "required": [ + "propertyName" + ], + "description": "Discriminator info of the union type." + }, + "Recordstringstring": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "string" + } + }, + "RecordstringOpenApi.ISecurityScheme": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme" + } + }, + "OpenApi.ISecurityScheme": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IApiKey" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBasic" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBearer" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOpenId" + } + ], + "title": "Security scheme of Swagger Documents", + "description": "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\nsecurity schemes as an union type like below." + }, + "OpenApi.ISecurityScheme.IApiKey": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "apiKey" + ] + }, + "in": { + "type": "string", + "enum": [ + "cookie", + "header", + "query" + ] + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type" + ], + "description": "Normal API key type." + }, + "OpenApi.ISecurityScheme.IHttpBasic": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "http" + ] + }, + "scheme": { + "type": "string", + "enum": [ + "basic" + ] + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP basic authentication type." + }, + "OpenApi.ISecurityScheme.IHttpBearer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "http" + ] + }, + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "bearerFormat": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP bearer authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "flows": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlowSet" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "flows" + ], + "description": "OAuth2 authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlowSet": { + "type": "object", + "properties": { + "authorizationCode": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlow" + }, + "implicit": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl" + }, + "password": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + }, + "clientCredentials": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + } + } + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlow": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + } + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl": { + "type": "object", + "properties": { + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OpenApi.ISecurityScheme.IOpenId": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "openIdConnect" + ] + }, + "openIdConnectUrl": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "openIdConnectUrl" + ] + } + } + }, + "schemas": [ + { + "$ref": "#/components/schemas/UltimateUnion" + } + ] +} \ No newline at end of file diff --git a/test/schemas/json/v3_1/ArrayAny.json b/test/schemas/json.schemas/v3_1/ArrayAny.json similarity index 100% rename from test/schemas/json/v3_1/ArrayAny.json rename to test/schemas/json.schemas/v3_1/ArrayAny.json diff --git a/test/schemas/json/v3_1/ArrayAtomicAlias.json b/test/schemas/json.schemas/v3_1/ArrayAtomicAlias.json similarity index 100% rename from test/schemas/json/v3_1/ArrayAtomicAlias.json rename to test/schemas/json.schemas/v3_1/ArrayAtomicAlias.json diff --git a/test/schemas/json/v3_1/ArrayAtomicSimple.json b/test/schemas/json.schemas/v3_1/ArrayAtomicSimple.json similarity index 100% rename from test/schemas/json/v3_1/ArrayAtomicSimple.json rename to test/schemas/json.schemas/v3_1/ArrayAtomicSimple.json diff --git a/test/schemas/json/v3_1/ArrayHierarchical.json b/test/schemas/json.schemas/v3_1/ArrayHierarchical.json similarity index 100% rename from test/schemas/json/v3_1/ArrayHierarchical.json rename to test/schemas/json.schemas/v3_1/ArrayHierarchical.json diff --git a/test/schemas/json/v3_1/ArrayHierarchicalPointer.json b/test/schemas/json.schemas/v3_1/ArrayHierarchicalPointer.json similarity index 100% rename from test/schemas/json/v3_1/ArrayHierarchicalPointer.json rename to test/schemas/json.schemas/v3_1/ArrayHierarchicalPointer.json diff --git a/test/schemas/json/v3_1/ArrayMatrix.json b/test/schemas/json.schemas/v3_1/ArrayMatrix.json similarity index 100% rename from test/schemas/json/v3_1/ArrayMatrix.json rename to test/schemas/json.schemas/v3_1/ArrayMatrix.json diff --git a/test/schemas/json/v3_1/ArrayRecursive.json b/test/schemas/json.schemas/v3_1/ArrayRecursive.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRecursive.json rename to test/schemas/json.schemas/v3_1/ArrayRecursive.json diff --git a/test/schemas/json/v3_1/ArrayRecursiveUnionExplicit.json b/test/schemas/json.schemas/v3_1/ArrayRecursiveUnionExplicit.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRecursiveUnionExplicit.json rename to test/schemas/json.schemas/v3_1/ArrayRecursiveUnionExplicit.json diff --git a/test/schemas/json/v3_1/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/json.schemas/v3_1/ArrayRecursiveUnionExplicitPointer.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRecursiveUnionExplicitPointer.json rename to test/schemas/json.schemas/v3_1/ArrayRecursiveUnionExplicitPointer.json diff --git a/test/schemas/json/v3_1/ArrayRecursiveUnionImplicit.json b/test/schemas/json.schemas/v3_1/ArrayRecursiveUnionImplicit.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRecursiveUnionImplicit.json rename to test/schemas/json.schemas/v3_1/ArrayRecursiveUnionImplicit.json diff --git a/test/schemas/json/v3_1/ArrayRepeatedNullable.json b/test/schemas/json.schemas/v3_1/ArrayRepeatedNullable.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRepeatedNullable.json rename to test/schemas/json.schemas/v3_1/ArrayRepeatedNullable.json diff --git a/test/schemas/json/v3_1/ArrayRepeatedRequired.json b/test/schemas/json.schemas/v3_1/ArrayRepeatedRequired.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRepeatedRequired.json rename to test/schemas/json.schemas/v3_1/ArrayRepeatedRequired.json diff --git a/test/schemas/json/v3_1/ArrayRepeatedUnion.json b/test/schemas/json.schemas/v3_1/ArrayRepeatedUnion.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRepeatedUnion.json rename to test/schemas/json.schemas/v3_1/ArrayRepeatedUnion.json diff --git a/test/schemas/json/v3_1/ArrayRepeatedUnionWithTuple.json b/test/schemas/json.schemas/v3_1/ArrayRepeatedUnionWithTuple.json similarity index 100% rename from test/schemas/json/v3_1/ArrayRepeatedUnionWithTuple.json rename to test/schemas/json.schemas/v3_1/ArrayRepeatedUnionWithTuple.json diff --git a/test/schemas/json/v3_1/ArraySimple.json b/test/schemas/json.schemas/v3_1/ArraySimple.json similarity index 100% rename from test/schemas/json/v3_1/ArraySimple.json rename to test/schemas/json.schemas/v3_1/ArraySimple.json diff --git a/test/schemas/json/v3_1/ArrayUnion.json b/test/schemas/json.schemas/v3_1/ArrayUnion.json similarity index 100% rename from test/schemas/json/v3_1/ArrayUnion.json rename to test/schemas/json.schemas/v3_1/ArrayUnion.json diff --git a/test/schemas/json/v3_1/AtomicAlias.json b/test/schemas/json.schemas/v3_1/AtomicAlias.json similarity index 100% rename from test/schemas/json/v3_1/AtomicAlias.json rename to test/schemas/json.schemas/v3_1/AtomicAlias.json diff --git a/test/schemas/json/v3_1/AtomicClass.json b/test/schemas/json.schemas/v3_1/AtomicClass.json similarity index 100% rename from test/schemas/json/v3_1/AtomicClass.json rename to test/schemas/json.schemas/v3_1/AtomicClass.json diff --git a/test/schemas/json/v3_1/AtomicIntersection.json b/test/schemas/json.schemas/v3_1/AtomicIntersection.json similarity index 100% rename from test/schemas/json/v3_1/AtomicIntersection.json rename to test/schemas/json.schemas/v3_1/AtomicIntersection.json diff --git a/test/schemas/json/v3_1/AtomicSimple.json b/test/schemas/json.schemas/v3_1/AtomicSimple.json similarity index 100% rename from test/schemas/json/v3_1/AtomicSimple.json rename to test/schemas/json.schemas/v3_1/AtomicSimple.json diff --git a/test/schemas/json/v3_1/AtomicUnion.json b/test/schemas/json.schemas/v3_1/AtomicUnion.json similarity index 100% rename from test/schemas/json/v3_1/AtomicUnion.json rename to test/schemas/json.schemas/v3_1/AtomicUnion.json diff --git a/test/schemas/json/v3_1/ClassGetter.json b/test/schemas/json.schemas/v3_1/ClassGetter.json similarity index 100% rename from test/schemas/json/v3_1/ClassGetter.json rename to test/schemas/json.schemas/v3_1/ClassGetter.json diff --git a/test/schemas/json/v3_1/ClassMethod.json b/test/schemas/json.schemas/v3_1/ClassMethod.json similarity index 100% rename from test/schemas/json/v3_1/ClassMethod.json rename to test/schemas/json.schemas/v3_1/ClassMethod.json diff --git a/test/schemas/json/v3_1/ClassPropertyAssignment.json b/test/schemas/json.schemas/v3_1/ClassPropertyAssignment.json similarity index 100% rename from test/schemas/json/v3_1/ClassPropertyAssignment.json rename to test/schemas/json.schemas/v3_1/ClassPropertyAssignment.json diff --git a/test/schemas/json/v3_1/CommentTagArray.json b/test/schemas/json.schemas/v3_1/CommentTagArray.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagArray.json rename to test/schemas/json.schemas/v3_1/CommentTagArray.json diff --git a/test/schemas/json/v3_1/CommentTagArrayUnion.json b/test/schemas/json.schemas/v3_1/CommentTagArrayUnion.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagArrayUnion.json rename to test/schemas/json.schemas/v3_1/CommentTagArrayUnion.json diff --git a/test/schemas/json/v3_1/CommentTagAtomicUnion.json b/test/schemas/json.schemas/v3_1/CommentTagAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagAtomicUnion.json rename to test/schemas/json.schemas/v3_1/CommentTagAtomicUnion.json diff --git a/test/schemas/json/v3_1/CommentTagDefault.json b/test/schemas/json.schemas/v3_1/CommentTagDefault.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagDefault.json rename to test/schemas/json.schemas/v3_1/CommentTagDefault.json diff --git a/test/schemas/json/v3_1/CommentTagFormat.json b/test/schemas/json.schemas/v3_1/CommentTagFormat.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagFormat.json rename to test/schemas/json.schemas/v3_1/CommentTagFormat.json diff --git a/test/schemas/json/v3_1/CommentTagLength.json b/test/schemas/json.schemas/v3_1/CommentTagLength.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagLength.json rename to test/schemas/json.schemas/v3_1/CommentTagLength.json diff --git a/test/schemas/json/v3_1/CommentTagObjectUnion.json b/test/schemas/json.schemas/v3_1/CommentTagObjectUnion.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagObjectUnion.json rename to test/schemas/json.schemas/v3_1/CommentTagObjectUnion.json diff --git a/test/schemas/json/v3_1/CommentTagPattern.json b/test/schemas/json.schemas/v3_1/CommentTagPattern.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagPattern.json rename to test/schemas/json.schemas/v3_1/CommentTagPattern.json diff --git a/test/schemas/json/v3_1/CommentTagRange.json b/test/schemas/json.schemas/v3_1/CommentTagRange.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagRange.json rename to test/schemas/json.schemas/v3_1/CommentTagRange.json diff --git a/test/schemas/json/v3_1/CommentTagType.json b/test/schemas/json.schemas/v3_1/CommentTagType.json similarity index 100% rename from test/schemas/json/v3_1/CommentTagType.json rename to test/schemas/json.schemas/v3_1/CommentTagType.json diff --git a/test/schemas/json/v3_1/ConstantAtomicAbsorbed.json b/test/schemas/json.schemas/v3_1/ConstantAtomicAbsorbed.json similarity index 100% rename from test/schemas/json/v3_1/ConstantAtomicAbsorbed.json rename to test/schemas/json.schemas/v3_1/ConstantAtomicAbsorbed.json diff --git a/test/schemas/json/v3_1/ConstantAtomicSimple.json b/test/schemas/json.schemas/v3_1/ConstantAtomicSimple.json similarity index 100% rename from test/schemas/json/v3_1/ConstantAtomicSimple.json rename to test/schemas/json.schemas/v3_1/ConstantAtomicSimple.json diff --git a/test/schemas/json/v3_1/ConstantAtomicTagged.json b/test/schemas/json.schemas/v3_1/ConstantAtomicTagged.json similarity index 100% rename from test/schemas/json/v3_1/ConstantAtomicTagged.json rename to test/schemas/json.schemas/v3_1/ConstantAtomicTagged.json diff --git a/test/schemas/json/v3_1/ConstantAtomicUnion.json b/test/schemas/json.schemas/v3_1/ConstantAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_1/ConstantAtomicUnion.json rename to test/schemas/json.schemas/v3_1/ConstantAtomicUnion.json diff --git a/test/schemas/json/v3_1/ConstantAtomicWrapper.json b/test/schemas/json.schemas/v3_1/ConstantAtomicWrapper.json similarity index 100% rename from test/schemas/json/v3_1/ConstantAtomicWrapper.json rename to test/schemas/json.schemas/v3_1/ConstantAtomicWrapper.json diff --git a/test/schemas/json/v3_1/ConstantConstEnumeration.json b/test/schemas/json.schemas/v3_1/ConstantConstEnumeration.json similarity index 100% rename from test/schemas/json/v3_1/ConstantConstEnumeration.json rename to test/schemas/json.schemas/v3_1/ConstantConstEnumeration.json diff --git a/test/schemas/json/v3_1/ConstantEnumeration.json b/test/schemas/json.schemas/v3_1/ConstantEnumeration.json similarity index 100% rename from test/schemas/json/v3_1/ConstantEnumeration.json rename to test/schemas/json.schemas/v3_1/ConstantEnumeration.json diff --git a/test/schemas/json/v3_1/ConstantIntersection.json b/test/schemas/json.schemas/v3_1/ConstantIntersection.json similarity index 100% rename from test/schemas/json/v3_1/ConstantIntersection.json rename to test/schemas/json.schemas/v3_1/ConstantIntersection.json diff --git a/test/schemas/json/v3_1/DynamicArray.json b/test/schemas/json.schemas/v3_1/DynamicArray.json similarity index 100% rename from test/schemas/json/v3_1/DynamicArray.json rename to test/schemas/json.schemas/v3_1/DynamicArray.json diff --git a/test/schemas/json/v3_1/DynamicComposite.json b/test/schemas/json.schemas/v3_1/DynamicComposite.json similarity index 100% rename from test/schemas/json/v3_1/DynamicComposite.json rename to test/schemas/json.schemas/v3_1/DynamicComposite.json diff --git a/test/schemas/json/v3_1/DynamicConstant.json b/test/schemas/json.schemas/v3_1/DynamicConstant.json similarity index 100% rename from test/schemas/json/v3_1/DynamicConstant.json rename to test/schemas/json.schemas/v3_1/DynamicConstant.json diff --git a/test/schemas/json/v3_1/DynamicEnumeration.json b/test/schemas/json.schemas/v3_1/DynamicEnumeration.json similarity index 100% rename from test/schemas/json/v3_1/DynamicEnumeration.json rename to test/schemas/json.schemas/v3_1/DynamicEnumeration.json diff --git a/test/schemas/json/v3_1/DynamicNever.json b/test/schemas/json.schemas/v3_1/DynamicNever.json similarity index 100% rename from test/schemas/json/v3_1/DynamicNever.json rename to test/schemas/json.schemas/v3_1/DynamicNever.json diff --git a/test/schemas/json/v3_1/DynamicSimple.json b/test/schemas/json.schemas/v3_1/DynamicSimple.json similarity index 100% rename from test/schemas/json/v3_1/DynamicSimple.json rename to test/schemas/json.schemas/v3_1/DynamicSimple.json diff --git a/test/schemas/json/v3_1/DynamicTemplate.json b/test/schemas/json.schemas/v3_1/DynamicTemplate.json similarity index 100% rename from test/schemas/json/v3_1/DynamicTemplate.json rename to test/schemas/json.schemas/v3_1/DynamicTemplate.json diff --git a/test/schemas/json/v3_1/DynamicTree.json b/test/schemas/json.schemas/v3_1/DynamicTree.json similarity index 100% rename from test/schemas/json/v3_1/DynamicTree.json rename to test/schemas/json.schemas/v3_1/DynamicTree.json diff --git a/test/schemas/json/v3_1/DynamicUndefined.json b/test/schemas/json.schemas/v3_1/DynamicUndefined.json similarity index 100% rename from test/schemas/json/v3_1/DynamicUndefined.json rename to test/schemas/json.schemas/v3_1/DynamicUndefined.json diff --git a/test/schemas/json/v3_1/DynamicUnion.json b/test/schemas/json.schemas/v3_1/DynamicUnion.json similarity index 100% rename from test/schemas/json/v3_1/DynamicUnion.json rename to test/schemas/json.schemas/v3_1/DynamicUnion.json diff --git a/test/schemas/json/v3_1/ObjectAlias.json b/test/schemas/json.schemas/v3_1/ObjectAlias.json similarity index 100% rename from test/schemas/json/v3_1/ObjectAlias.json rename to test/schemas/json.schemas/v3_1/ObjectAlias.json diff --git a/test/schemas/json/v3_1/ObjectDate.json b/test/schemas/json.schemas/v3_1/ObjectDate.json similarity index 100% rename from test/schemas/json/v3_1/ObjectDate.json rename to test/schemas/json.schemas/v3_1/ObjectDate.json diff --git a/test/schemas/json/v3_1/ObjectDescription.json b/test/schemas/json.schemas/v3_1/ObjectDescription.json similarity index 100% rename from test/schemas/json/v3_1/ObjectDescription.json rename to test/schemas/json.schemas/v3_1/ObjectDescription.json diff --git a/test/schemas/json/v3_1/ObjectDynamic.json b/test/schemas/json.schemas/v3_1/ObjectDynamic.json similarity index 100% rename from test/schemas/json/v3_1/ObjectDynamic.json rename to test/schemas/json.schemas/v3_1/ObjectDynamic.json diff --git a/test/schemas/json/v3_1/ObjectGeneric.json b/test/schemas/json.schemas/v3_1/ObjectGeneric.json similarity index 100% rename from test/schemas/json/v3_1/ObjectGeneric.json rename to test/schemas/json.schemas/v3_1/ObjectGeneric.json diff --git a/test/schemas/json/v3_1/ObjectGenericAlias.json b/test/schemas/json.schemas/v3_1/ObjectGenericAlias.json similarity index 100% rename from test/schemas/json/v3_1/ObjectGenericAlias.json rename to test/schemas/json.schemas/v3_1/ObjectGenericAlias.json diff --git a/test/schemas/json/v3_1/ObjectGenericArray.json b/test/schemas/json.schemas/v3_1/ObjectGenericArray.json similarity index 100% rename from test/schemas/json/v3_1/ObjectGenericArray.json rename to test/schemas/json.schemas/v3_1/ObjectGenericArray.json diff --git a/test/schemas/json/v3_1/ObjectGenericUnion.json b/test/schemas/json.schemas/v3_1/ObjectGenericUnion.json similarity index 100% rename from test/schemas/json/v3_1/ObjectGenericUnion.json rename to test/schemas/json.schemas/v3_1/ObjectGenericUnion.json diff --git a/test/schemas/json/v3_1/ObjectHierarchical.json b/test/schemas/json.schemas/v3_1/ObjectHierarchical.json similarity index 100% rename from test/schemas/json/v3_1/ObjectHierarchical.json rename to test/schemas/json.schemas/v3_1/ObjectHierarchical.json diff --git a/test/schemas/json/v3_1/ObjectInternal.json b/test/schemas/json.schemas/v3_1/ObjectInternal.json similarity index 100% rename from test/schemas/json/v3_1/ObjectInternal.json rename to test/schemas/json.schemas/v3_1/ObjectInternal.json diff --git a/test/schemas/json/v3_1/ObjectIntersection.json b/test/schemas/json.schemas/v3_1/ObjectIntersection.json similarity index 100% rename from test/schemas/json/v3_1/ObjectIntersection.json rename to test/schemas/json.schemas/v3_1/ObjectIntersection.json diff --git a/test/schemas/json/v3_1/ObjectJsonTag.json b/test/schemas/json.schemas/v3_1/ObjectJsonTag.json similarity index 100% rename from test/schemas/json/v3_1/ObjectJsonTag.json rename to test/schemas/json.schemas/v3_1/ObjectJsonTag.json diff --git a/test/schemas/json/v3_1/ObjectLiteralProperty.json b/test/schemas/json.schemas/v3_1/ObjectLiteralProperty.json similarity index 100% rename from test/schemas/json/v3_1/ObjectLiteralProperty.json rename to test/schemas/json.schemas/v3_1/ObjectLiteralProperty.json diff --git a/test/schemas/json/v3_1/ObjectLiteralType.json b/test/schemas/json.schemas/v3_1/ObjectLiteralType.json similarity index 100% rename from test/schemas/json/v3_1/ObjectLiteralType.json rename to test/schemas/json.schemas/v3_1/ObjectLiteralType.json diff --git a/test/schemas/json/v3_1/ObjectNullable.json b/test/schemas/json.schemas/v3_1/ObjectNullable.json similarity index 100% rename from test/schemas/json/v3_1/ObjectNullable.json rename to test/schemas/json.schemas/v3_1/ObjectNullable.json diff --git a/test/schemas/json/v3_1/ObjectOptional.json b/test/schemas/json.schemas/v3_1/ObjectOptional.json similarity index 100% rename from test/schemas/json/v3_1/ObjectOptional.json rename to test/schemas/json.schemas/v3_1/ObjectOptional.json diff --git a/test/schemas/json/v3_1/ObjectPartial.json b/test/schemas/json.schemas/v3_1/ObjectPartial.json similarity index 100% rename from test/schemas/json/v3_1/ObjectPartial.json rename to test/schemas/json.schemas/v3_1/ObjectPartial.json diff --git a/test/schemas/json/v3_1/ObjectPartialAndRequired.json b/test/schemas/json.schemas/v3_1/ObjectPartialAndRequired.json similarity index 100% rename from test/schemas/json/v3_1/ObjectPartialAndRequired.json rename to test/schemas/json.schemas/v3_1/ObjectPartialAndRequired.json diff --git a/test/schemas/json/v3_1/ObjectPrimitive.json b/test/schemas/json.schemas/v3_1/ObjectPrimitive.json similarity index 100% rename from test/schemas/json/v3_1/ObjectPrimitive.json rename to test/schemas/json.schemas/v3_1/ObjectPrimitive.json diff --git a/test/schemas/json/v3_1/ObjectPropertyNullable.json b/test/schemas/json.schemas/v3_1/ObjectPropertyNullable.json similarity index 100% rename from test/schemas/json/v3_1/ObjectPropertyNullable.json rename to test/schemas/json.schemas/v3_1/ObjectPropertyNullable.json diff --git a/test/schemas/json/v3_1/ObjectRecursive.json b/test/schemas/json.schemas/v3_1/ObjectRecursive.json similarity index 100% rename from test/schemas/json/v3_1/ObjectRecursive.json rename to test/schemas/json.schemas/v3_1/ObjectRecursive.json diff --git a/test/schemas/json/v3_1/ObjectRequired.json b/test/schemas/json.schemas/v3_1/ObjectRequired.json similarity index 100% rename from test/schemas/json/v3_1/ObjectRequired.json rename to test/schemas/json.schemas/v3_1/ObjectRequired.json diff --git a/test/schemas/json/v3_1/ObjectSimple.json b/test/schemas/json.schemas/v3_1/ObjectSimple.json similarity index 100% rename from test/schemas/json/v3_1/ObjectSimple.json rename to test/schemas/json.schemas/v3_1/ObjectSimple.json diff --git a/test/schemas/json/v3_1/ObjectTuple.json b/test/schemas/json.schemas/v3_1/ObjectTuple.json similarity index 100% rename from test/schemas/json/v3_1/ObjectTuple.json rename to test/schemas/json.schemas/v3_1/ObjectTuple.json diff --git a/test/schemas/json/v3_1/ObjectUndefined.json b/test/schemas/json.schemas/v3_1/ObjectUndefined.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUndefined.json rename to test/schemas/json.schemas/v3_1/ObjectUndefined.json diff --git a/test/schemas/json/v3_1/ObjectUnionComposite.json b/test/schemas/json.schemas/v3_1/ObjectUnionComposite.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUnionComposite.json rename to test/schemas/json.schemas/v3_1/ObjectUnionComposite.json diff --git a/test/schemas/json/v3_1/ObjectUnionCompositePointer.json b/test/schemas/json.schemas/v3_1/ObjectUnionCompositePointer.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUnionCompositePointer.json rename to test/schemas/json.schemas/v3_1/ObjectUnionCompositePointer.json diff --git a/test/schemas/json/v3_1/ObjectUnionDouble.json b/test/schemas/json.schemas/v3_1/ObjectUnionDouble.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUnionDouble.json rename to test/schemas/json.schemas/v3_1/ObjectUnionDouble.json diff --git a/test/schemas/json/v3_1/ObjectUnionExplicit.json b/test/schemas/json.schemas/v3_1/ObjectUnionExplicit.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUnionExplicit.json rename to test/schemas/json.schemas/v3_1/ObjectUnionExplicit.json diff --git a/test/schemas/json/v3_1/ObjectUnionExplicitPointer.json b/test/schemas/json.schemas/v3_1/ObjectUnionExplicitPointer.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUnionExplicitPointer.json rename to test/schemas/json.schemas/v3_1/ObjectUnionExplicitPointer.json diff --git a/test/schemas/json/v3_1/ObjectUnionImplicit.json b/test/schemas/json.schemas/v3_1/ObjectUnionImplicit.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUnionImplicit.json rename to test/schemas/json.schemas/v3_1/ObjectUnionImplicit.json diff --git a/test/schemas/json/v3_1/ObjectUnionNonPredictable.json b/test/schemas/json.schemas/v3_1/ObjectUnionNonPredictable.json similarity index 100% rename from test/schemas/json/v3_1/ObjectUnionNonPredictable.json rename to test/schemas/json.schemas/v3_1/ObjectUnionNonPredictable.json diff --git a/test/schemas/json/v3_1/TemplateAtomic.json b/test/schemas/json.schemas/v3_1/TemplateAtomic.json similarity index 100% rename from test/schemas/json/v3_1/TemplateAtomic.json rename to test/schemas/json.schemas/v3_1/TemplateAtomic.json diff --git a/test/schemas/json/v3_1/TemplateConstant.json b/test/schemas/json.schemas/v3_1/TemplateConstant.json similarity index 100% rename from test/schemas/json/v3_1/TemplateConstant.json rename to test/schemas/json.schemas/v3_1/TemplateConstant.json diff --git a/test/schemas/json/v3_1/TemplateUnion.json b/test/schemas/json.schemas/v3_1/TemplateUnion.json similarity index 100% rename from test/schemas/json/v3_1/TemplateUnion.json rename to test/schemas/json.schemas/v3_1/TemplateUnion.json diff --git a/test/schemas/json/v3_1/ToJsonArray.json b/test/schemas/json.schemas/v3_1/ToJsonArray.json similarity index 100% rename from test/schemas/json/v3_1/ToJsonArray.json rename to test/schemas/json.schemas/v3_1/ToJsonArray.json diff --git a/test/schemas/json/v3_1/ToJsonAtomicSimple.json b/test/schemas/json.schemas/v3_1/ToJsonAtomicSimple.json similarity index 100% rename from test/schemas/json/v3_1/ToJsonAtomicSimple.json rename to test/schemas/json.schemas/v3_1/ToJsonAtomicSimple.json diff --git a/test/schemas/json/v3_1/ToJsonAtomicUnion.json b/test/schemas/json.schemas/v3_1/ToJsonAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_1/ToJsonAtomicUnion.json rename to test/schemas/json.schemas/v3_1/ToJsonAtomicUnion.json diff --git a/test/schemas/json/v3_1/ToJsonDouble.json b/test/schemas/json.schemas/v3_1/ToJsonDouble.json similarity index 100% rename from test/schemas/json/v3_1/ToJsonDouble.json rename to test/schemas/json.schemas/v3_1/ToJsonDouble.json diff --git a/test/schemas/json/v3_1/ToJsonNull.json b/test/schemas/json.schemas/v3_1/ToJsonNull.json similarity index 100% rename from test/schemas/json/v3_1/ToJsonNull.json rename to test/schemas/json.schemas/v3_1/ToJsonNull.json diff --git a/test/schemas/json/v3_1/ToJsonTuple.json b/test/schemas/json.schemas/v3_1/ToJsonTuple.json similarity index 100% rename from test/schemas/json/v3_1/ToJsonTuple.json rename to test/schemas/json.schemas/v3_1/ToJsonTuple.json diff --git a/test/schemas/json/v3_1/ToJsonUnion.json b/test/schemas/json.schemas/v3_1/ToJsonUnion.json similarity index 100% rename from test/schemas/json/v3_1/ToJsonUnion.json rename to test/schemas/json.schemas/v3_1/ToJsonUnion.json diff --git a/test/schemas/json/v3_1/TupleHierarchical.json b/test/schemas/json.schemas/v3_1/TupleHierarchical.json similarity index 100% rename from test/schemas/json/v3_1/TupleHierarchical.json rename to test/schemas/json.schemas/v3_1/TupleHierarchical.json diff --git a/test/schemas/json/v3_1/TupleRestArray.json b/test/schemas/json.schemas/v3_1/TupleRestArray.json similarity index 100% rename from test/schemas/json/v3_1/TupleRestArray.json rename to test/schemas/json.schemas/v3_1/TupleRestArray.json diff --git a/test/schemas/json/v3_1/TupleRestAtomic.json b/test/schemas/json.schemas/v3_1/TupleRestAtomic.json similarity index 100% rename from test/schemas/json/v3_1/TupleRestAtomic.json rename to test/schemas/json.schemas/v3_1/TupleRestAtomic.json diff --git a/test/schemas/json/v3_1/TupleRestObject.json b/test/schemas/json.schemas/v3_1/TupleRestObject.json similarity index 100% rename from test/schemas/json/v3_1/TupleRestObject.json rename to test/schemas/json.schemas/v3_1/TupleRestObject.json diff --git a/test/schemas/json/v3_1/TypeTagArray.json b/test/schemas/json.schemas/v3_1/TypeTagArray.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagArray.json rename to test/schemas/json.schemas/v3_1/TypeTagArray.json diff --git a/test/schemas/json/v3_1/TypeTagArrayUnion.json b/test/schemas/json.schemas/v3_1/TypeTagArrayUnion.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagArrayUnion.json rename to test/schemas/json.schemas/v3_1/TypeTagArrayUnion.json diff --git a/test/schemas/json/v3_1/TypeTagAtomicUnion.json b/test/schemas/json.schemas/v3_1/TypeTagAtomicUnion.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagAtomicUnion.json rename to test/schemas/json.schemas/v3_1/TypeTagAtomicUnion.json diff --git a/test/schemas/json/v3_1/TypeTagCustom.json b/test/schemas/json.schemas/v3_1/TypeTagCustom.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagCustom.json rename to test/schemas/json.schemas/v3_1/TypeTagCustom.json diff --git a/test/schemas/json/v3_1/TypeTagDefault.json b/test/schemas/json.schemas/v3_1/TypeTagDefault.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagDefault.json rename to test/schemas/json.schemas/v3_1/TypeTagDefault.json diff --git a/test/schemas/json/v3_1/TypeTagFormat.json b/test/schemas/json.schemas/v3_1/TypeTagFormat.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagFormat.json rename to test/schemas/json.schemas/v3_1/TypeTagFormat.json diff --git a/test/schemas/json/v3_1/TypeTagLength.json b/test/schemas/json.schemas/v3_1/TypeTagLength.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagLength.json rename to test/schemas/json.schemas/v3_1/TypeTagLength.json diff --git a/test/schemas/json/v3_1/TypeTagMatrix.json b/test/schemas/json.schemas/v3_1/TypeTagMatrix.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagMatrix.json rename to test/schemas/json.schemas/v3_1/TypeTagMatrix.json diff --git a/test/schemas/json/v3_1/TypeTagObjectUnion.json b/test/schemas/json.schemas/v3_1/TypeTagObjectUnion.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagObjectUnion.json rename to test/schemas/json.schemas/v3_1/TypeTagObjectUnion.json diff --git a/test/schemas/json/v3_1/TypeTagPattern.json b/test/schemas/json.schemas/v3_1/TypeTagPattern.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagPattern.json rename to test/schemas/json.schemas/v3_1/TypeTagPattern.json diff --git a/test/schemas/json/v3_1/TypeTagRange.json b/test/schemas/json.schemas/v3_1/TypeTagRange.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagRange.json rename to test/schemas/json.schemas/v3_1/TypeTagRange.json diff --git a/test/schemas/json/v3_1/TypeTagTuple.json b/test/schemas/json.schemas/v3_1/TypeTagTuple.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagTuple.json rename to test/schemas/json.schemas/v3_1/TypeTagTuple.json diff --git a/test/schemas/json/v3_1/TypeTagType.json b/test/schemas/json.schemas/v3_1/TypeTagType.json similarity index 100% rename from test/schemas/json/v3_1/TypeTagType.json rename to test/schemas/json.schemas/v3_1/TypeTagType.json diff --git a/test/schemas/json.schemas/v3_1/UltimateUnion.json b/test/schemas/json.schemas/v3_1/UltimateUnion.json new file mode 100644 index 0000000000..7fd9c33bd8 --- /dev/null +++ b/test/schemas/json.schemas/v3_1/UltimateUnion.json @@ -0,0 +1,1098 @@ +{ + "version": "3.1", + "components": { + "schemas": { + "UltimateUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IJsonSchemaCollection.IV3_1Arrayunknown" + } + }, + "IJsonSchemaCollection.IV3_1Arrayunknown": { + "type": "object", + "properties": { + "version": { + "const": "3.1" + }, + "components": { + "$ref": "#/components/schemas/OpenApi.IComponentsOpenApi.IJsonSchema" + }, + "schemas": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "__types": { + "type": "array", + "items": {} + } + }, + "required": [ + "version", + "components", + "schemas" + ] + }, + "OpenApi.IComponentsOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "schemas": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "An object to hold reusable DTO schemas", + "description": "An object to hold reusable DTO schemas.\n\nIn other words, a collection of named JSON schemas." + }, + "securitySchemes": { + "$ref": "#/components/schemas/RecordstringOpenApi.ISecurityScheme", + "title": "An object to hold reusable security schemes", + "description": "An object to hold reusable security schemes.\n\nIn other words, a collection of named security schemes." + } + }, + "description": "Reusable components in OpenAPI.\n\nA storage of reusable components in OpenAPI document.\n\nIn other words, it is a storage of named DTO schemas and security schemes." + }, + "RecordstringOpenApi.IJsonSchema": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + } + }, + "OpenApi.IJsonSchema": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Type schema info", + "description": "Type schema info.\n\n`OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n\n`OpenApi.IJsonSchema` basically follows the JSON schema definition of\nOpenAPI v3.1, but a little bit shrinked to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience and clarity.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@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 {@link OpenApi.IJsonSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}" + }, + "OpenApi.IJsonSchema.IString": { + "type": "object", + "properties": { + "default": { + "type": "string", + "title": "Default value", + "description": "Default value." + }, + "format": { + "type": "string", + "title": "Format restriction", + "description": "Format restriction." + }, + "pattern": { + "type": "string", + "title": "Pattern restriction", + "description": "Pattern restriction." + }, + "contentMediaType": { + "type": "string", + "title": "Content media type restriction", + "description": "Content media type restriction." + }, + "minLength": { + "type": "integer", + "title": "Minimum length restriction", + "description": "Minimum length restriction." + }, + "maxLength": { + "type": "integer", + "title": "Maximum length restriction", + "description": "Maximum length restriction." + }, + "type": { + "const": "string", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "String type info." + }, + "Recordstringany": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": {} + }, + "OpenApi.IJsonSchema.INumber": { + "type": "object", + "properties": { + "default": { + "type": "number", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "number", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "number", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "const": "number", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Number (double) type info." + }, + "OpenApi.IJsonSchema.IConstant": { + "type": "object", + "properties": { + "const": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "The constant value", + "description": "The constant value." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "const" + ], + "description": "Constant value type." + }, + "OpenApi.IJsonSchema.IBoolean": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "title": "The default value", + "description": "The default value." + }, + "type": { + "const": "boolean", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Boolean type info." + }, + "OpenApi.IJsonSchema.IInteger": { + "type": "object", + "properties": { + "default": { + "type": "integer", + "title": "Default value", + "description": "Default value." + }, + "minimum": { + "type": "integer", + "title": "Minimum value restriction", + "description": "Minimum value restriction." + }, + "maximum": { + "type": "integer", + "title": "Maximum value restriction", + "description": "Maximum value restriction." + }, + "exclusiveMinimum": { + "type": "boolean", + "title": "Exclusive minimum value restriction", + "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." + }, + "exclusiveMaximum": { + "type": "boolean", + "title": "Exclusive maximum value restriction", + "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." + }, + "multipleOf": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 0, + "title": "Multiple of value restriction", + "description": "Multiple of value restriction." + }, + "type": { + "const": "integer", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Integer type info." + }, + "OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema", + "title": "Items type info", + "description": "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type `Array`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the array." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the array." + }, + "type": { + "const": "array", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "items", + "type" + ], + "description": "Array type info." + }, + "OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "prefixItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema" + }, + "title": "Prefix items", + "description": "Prefix items.\n\nThe `prefixItems` means the type schema info of the prefix items in the\ntuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n\nIf you want to express `[T1, T2, ...TO[]]` type, you can configure the\n`...TO[]` through the {@link additionalItems} property." + }, + "additionalItems": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional items", + "description": "Additional items.\n\nThe `additionalItems` means the type schema info of the additional items\nafter the {@link prefixItems}. In the TypeScript, if there's a type\n`[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n\nBy the way, if you configure the `additionalItems` as `true`, it means\nthe additional items are not restricted. They can be any type, so that\nit is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n\nOtherwise configure the `additionalItems` as the {@link IJsonSchema},\nit means the additional items must follow the type schema info.\nTherefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`." + }, + "uniqueItems": { + "type": "boolean", + "title": "Unique items restriction", + "description": "Unique items restriction.\n\nIf this property value is `true`, target tuple must have unique items." + }, + "minItems": { + "type": "integer", + "title": "Minimum items restriction", + "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the tuple." + }, + "maxItems": { + "type": "integer", + "title": "Maximum items restriction", + "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the tuple." + }, + "type": { + "const": "array", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "prefixItems", + "type" + ], + "description": "Tuple type info." + }, + "OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", + "title": "Properties of the object", + "description": "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property,\nand the value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead." + }, + "additionalProperties": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ], + "title": "Additional properties' info", + "description": "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `true`, it means that the additional properties are not\nrestricted. They can be any type. Otherwise, if the value is\n{@link IOpenAiSchema} type, it means that the additional properties must\nfollow the type schema info.\n\n- `true`: `Record`\n- `IOpenAiSchema`: `Record`" + }, + "required": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of key values of the required properties", + "description": "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be filled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso 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```" + }, + "type": { + "const": "object", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "properties", + "type" + ], + "description": "Object type info." + }, + "OpenApi.IJsonSchema.IReferencestring": { + "type": "object", + "properties": { + "$ref": { + "type": "string", + "title": "Reference to the named schema", + "description": "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link OpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`" + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "$ref" + ], + "description": "Reference type directing named schema." + }, + "OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema": { + "type": "object", + "properties": { + "oneOf": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" + }, + { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" + } + ] + }, + "title": "List of the union types", + "description": "List of the union types." + }, + "discriminator": { + "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOf.IDiscriminator", + "title": "Discriminator info of the union type", + "description": "Discriminator info of the union type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "oneOf" + ], + "description": "Union type.\n\nIOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\nconverts it to `oneOf` type." + }, + "OpenApi.IJsonSchema.INull": { + "type": "object", + "properties": { + "default": { + "type": "null", + "title": "Default value", + "description": "Default value." + }, + "type": { + "const": "null", + "title": "Discriminator value of the type", + "description": "Discriminator value of the type." + }, + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "required": [ + "type" + ], + "description": "Null type." + }, + "OpenApi.IJsonSchema.IUnknown": { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the schema", + "description": "Title of the schema." + }, + "description": { + "type": "string", + "title": "Detailed description of the schema", + "description": "Detailed description of the schema." + }, + "deprecated": { + "type": "boolean", + "title": "Whether the type is deprecated or not", + "description": "Whether the type is deprecated or not." + }, + "example": { + "title": "Example value", + "description": "Example value." + }, + "examples": { + "$ref": "#/components/schemas/Recordstringany", + "title": "List of example values as key-value pairs", + "description": "List of example values as key-value pairs." + } + }, + "description": "Unknown, the `any` type." + }, + "OpenApi.IJsonSchema.IOneOf.IDiscriminator": { + "type": "object", + "properties": { + "propertyName": { + "type": "string", + "title": "Property name for the discriminator", + "description": "Property name for the discriminator." + }, + "mapping": { + "$ref": "#/components/schemas/Recordstringstring", + "title": "Mapping of the discriminator value to the schema name", + "description": "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\nthe discriminator value, and `value` of `mapping` is the\nschema name like `#/components/schemas/SomeObject`." + } + }, + "required": [ + "propertyName" + ], + "description": "Discriminator info of the union type." + }, + "Recordstringstring": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "string" + } + }, + "RecordstringOpenApi.ISecurityScheme": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme" + } + }, + "OpenApi.ISecurityScheme": { + "oneOf": [ + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IApiKey" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBasic" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBearer" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2" + }, + { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOpenId" + } + ], + "title": "Security scheme of Swagger Documents", + "description": "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\nsecurity schemes as an union type like below." + }, + "OpenApi.ISecurityScheme.IApiKey": { + "type": "object", + "properties": { + "type": { + "const": "apiKey" + }, + "in": { + "oneOf": [ + { + "const": "cookie" + }, + { + "const": "header" + }, + { + "const": "query" + } + ] + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type" + ], + "description": "Normal API key type." + }, + "OpenApi.ISecurityScheme.IHttpBasic": { + "type": "object", + "properties": { + "type": { + "const": "http" + }, + "scheme": { + "const": "basic" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP basic authentication type." + }, + "OpenApi.ISecurityScheme.IHttpBearer": { + "type": "object", + "properties": { + "type": { + "const": "http" + }, + "scheme": { + "const": "bearer" + }, + "bearerFormat": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "scheme" + ], + "description": "HTTP bearer authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2": { + "type": "object", + "properties": { + "type": { + "const": "oauth2" + }, + "flows": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlowSet" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "flows" + ], + "description": "OAuth2 authentication type." + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlowSet": { + "type": "object", + "properties": { + "authorizationCode": { + "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlow" + }, + "implicit": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl" + }, + "password": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + }, + "clientCredentials": { + "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" + } + } + }, + "OpenApi.ISecurityScheme.IOAuth2.IFlow": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + } + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl": { + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl": { + "type": "object", + "properties": { + "tokenUrl": { + "type": "string" + }, + "refreshUrl": { + "type": "string" + }, + "scopes": { + "$ref": "#/components/schemas/Recordstringstring" + } + }, + "description": "Construct a type with the properties of T except for those in type K." + }, + "OpenApi.ISecurityScheme.IOpenId": { + "type": "object", + "properties": { + "type": { + "const": "openIdConnect" + }, + "openIdConnectUrl": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type", + "openIdConnectUrl" + ] + } + } + }, + "schemas": [ + { + "$ref": "#/components/schemas/UltimateUnion" + } + ] +} \ No newline at end of file diff --git a/test/schemas/json/v3_0/ConstantAtomicSimple.json b/test/schemas/json/v3_0/ConstantAtomicSimple.json deleted file mode 100644 index 3dfdb2531e..0000000000 --- a/test/schemas/json/v3_0/ConstantAtomicSimple.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "version": "3.0", - "components": { - "schemas": { - "ConstantAtomicSimple": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean", - "enum": [ - false, - true - ] - }, - { - "type": "number", - "enum": [ - 2 - ] - }, - { - "type": "string", - "enum": [ - "three" - ] - } - ] - }, - "minItems": 4, - "maxItems": 4 - } - } - }, - "schemas": [ - { - "$ref": "#/components/schemas/ConstantAtomicSimple" - } - ] -} \ No newline at end of file diff --git a/test/schemas/json/v3_0/TupleHierarchical.json b/test/schemas/json/v3_0/TupleHierarchical.json deleted file mode 100644 index 6b924359b6..0000000000 --- a/test/schemas/json/v3_0/TupleHierarchical.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "version": "3.0", - "components": { - "schemas": { - "TupleHierarchical": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean", - "nullable": true - }, - { - "type": "number", - "nullable": true - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean", - "nullable": true - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "string" - } - ] - }, - "minItems": 2, - "maxItems": 2 - } - ] - }, - "minItems": 2, - "maxItems": 2, - "nullable": true - } - ] - }, - "minItems": 3, - "maxItems": 3, - "nullable": true - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "string" - } - ] - }, - "minItems": 2, - "maxItems": 2 - } - ] - }, - "minItems": 3, - "maxItems": 3 - } - } - ] - }, - "minItems": 3, - "maxItems": 3 - } - } - ] - }, - "minItems": 2, - "maxItems": 2, - "nullable": true - } - ] - }, - "minItems": 5, - "maxItems": 5 - } - } - }, - "schemas": [ - { - "$ref": "#/components/schemas/TupleHierarchical" - } - ] -} \ No newline at end of file diff --git a/test/schemas/json/v3_0/TupleRestArray.json b/test/schemas/json/v3_0/TupleRestArray.json deleted file mode 100644 index 51b261117c..0000000000 --- a/test/schemas/json/v3_0/TupleRestArray.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "version": "3.0", - "components": { - "schemas": { - "TupleRestArray": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "schemas": [ - { - "$ref": "#/components/schemas/TupleRestArray" - } - ] -} \ No newline at end of file diff --git a/test/schemas/json/v3_0/TupleRestAtomic.json b/test/schemas/json/v3_0/TupleRestAtomic.json deleted file mode 100644 index 474be6b0b9..0000000000 --- a/test/schemas/json/v3_0/TupleRestAtomic.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "version": "3.0", - "components": { - "schemas": { - "TupleRestAtomic": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - } - ] - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "schemas": [ - { - "$ref": "#/components/schemas/TupleRestAtomic" - } - ] -} \ No newline at end of file diff --git a/test/schemas/json/v3_0/TupleRestObject.json b/test/schemas/json/v3_0/TupleRestObject.json deleted file mode 100644 index 30c08056cd..0000000000 --- a/test/schemas/json/v3_0/TupleRestObject.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "version": "3.0", - "components": { - "schemas": { - "TupleRestObject": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "$ref": "#/components/schemas/TupleRestObject.IObject" - } - ] - }, - "minItems": 2, - "maxItems": 2 - }, - "TupleRestObject.IObject": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ] - } - } - }, - "schemas": [ - { - "$ref": "#/components/schemas/TupleRestObject" - } - ] -} \ No newline at end of file diff --git a/test/schemas/json/v3_0/UltimateUnion.json b/test/schemas/json/v3_0/UltimateUnion.json deleted file mode 100644 index 47004e7766..0000000000 --- a/test/schemas/json/v3_0/UltimateUnion.json +++ /dev/null @@ -1,1140 +0,0 @@ -{ - "version": "3.0", - "components": { - "schemas": { - "UltimateUnion": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IJsonSchemaCollection.IV3_1Arrayunknown" - } - }, - "IJsonSchemaCollection.IV3_1Arrayunknown": { - "type": "object", - "properties": { - "version": { - "type": "string", - "enum": [ - "3.1" - ] - }, - "components": { - "$ref": "#/components/schemas/OpenApi.IComponentsOpenApi.IJsonSchema" - }, - "schemas": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema" - } - }, - "__types": { - "type": "array", - "items": {} - } - }, - "required": [ - "version", - "components", - "schemas" - ] - }, - "OpenApi.IComponentsOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "schemas": { - "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", - "title": "An object to hold reusable DTO schemas", - "description": "An object to hold reusable DTO schemas.\n\nIn other words, a collection of named JSON schemas." - }, - "securitySchemes": { - "$ref": "#/components/schemas/RecordstringOpenApi.ISecurityScheme", - "title": "An object to hold reusable security schemes", - "description": "An object to hold reusable security schemes.\n\nIn other words, a collection of named security schemes." - } - }, - "description": "Reusable components in OpenAPI.\n\nA storage of reusable components in OpenAPI document.\n\nIn other words, it is a storage of named DTO schemas and security schemes." - }, - "RecordstringOpenApi.IJsonSchema": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema" - } - }, - "OpenApi.IJsonSchema": { - "oneOf": [ - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Type schema info", - "description": "Type schema info.\n\n`OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n\n`OpenApi.IJsonSchema` basically follows the JSON schema definition of\nOpenAPI v3.1, but a little bit shrinked to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience and clarity.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@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.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link OpenApi.IJsonSchema.IObject}" - }, - "OpenApi.IJsonSchema.IString": { - "type": "object", - "properties": { - "default": { - "type": "string", - "title": "Default value", - "description": "Default value." - }, - "format": { - "type": "string", - "title": "Format restriction", - "description": "Format restriction." - }, - "pattern": { - "type": "string", - "title": "Pattern restriction", - "description": "Pattern restriction." - }, - "contentMediaType": { - "type": "string", - "title": "Content media type restriction", - "description": "Content media type restriction." - }, - "minLength": { - "type": "integer", - "title": "Minimum length restriction", - "description": "Minimum length restriction." - }, - "maxLength": { - "type": "integer", - "title": "Maximum length restriction", - "description": "Maximum length restriction." - }, - "type": { - "type": "string", - "enum": [ - "string" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "String type info." - }, - "Recordstringany": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": {} - }, - "OpenApi.IJsonSchema.INumber": { - "type": "object", - "properties": { - "default": { - "type": "number", - "title": "Default value", - "description": "Default value." - }, - "minimum": { - "type": "number", - "title": "Minimum value restriction", - "description": "Minimum value restriction." - }, - "maximum": { - "type": "number", - "title": "Maximum value restriction", - "description": "Maximum value restriction." - }, - "exclusiveMinimum": { - "type": "boolean", - "title": "Exclusive minimum value restriction", - "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." - }, - "exclusiveMaximum": { - "type": "boolean", - "title": "Exclusive maximum value restriction", - "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": true, - "minimum": 0, - "title": "Multiple of value restriction", - "description": "Multiple of value restriction." - }, - "type": { - "type": "string", - "enum": [ - "number" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Number (double) type info." - }, - "OpenApi.IJsonSchema.IConstant": { - "type": "object", - "properties": { - "const": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "The constant value", - "description": "The constant value." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "const" - ], - "description": "Constant value type." - }, - "OpenApi.IJsonSchema.IBoolean": { - "type": "object", - "properties": { - "default": { - "type": "boolean", - "title": "The default value", - "description": "The default value." - }, - "type": { - "type": "string", - "enum": [ - "boolean" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Boolean type info." - }, - "OpenApi.IJsonSchema.IInteger": { - "type": "object", - "properties": { - "default": { - "type": "integer", - "title": "Default value", - "description": "Default value." - }, - "minimum": { - "type": "integer", - "title": "Minimum value restriction", - "description": "Minimum value restriction." - }, - "maximum": { - "type": "integer", - "title": "Maximum value restriction", - "description": "Maximum value restriction." - }, - "exclusiveMinimum": { - "type": "boolean", - "title": "Exclusive minimum value restriction", - "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." - }, - "exclusiveMaximum": { - "type": "boolean", - "title": "Exclusive maximum value restriction", - "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." - }, - "multipleOf": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 0, - "title": "Multiple of value restriction", - "description": "Multiple of value restriction." - }, - "type": { - "type": "string", - "enum": [ - "integer" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Integer type info." - }, - "OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "items": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema", - "title": "Items type info", - "description": "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type `Array`." - }, - "uniqueItems": { - "type": "boolean", - "title": "Unique items restriction", - "description": "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items." - }, - "minItems": { - "type": "integer", - "title": "Minimum items restriction", - "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the array." - }, - "maxItems": { - "type": "integer", - "title": "Maximum items restriction", - "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the array." - }, - "type": { - "type": "string", - "enum": [ - "array" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "items", - "type" - ], - "description": "Array type info." - }, - "OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "prefixItems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema" - }, - "title": "Prefix items", - "description": "Prefix items.\n\nThe `prefixItems` means the type schema info of the prefix items in the\ntuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n\nIf you want to express `[T1, T2, ...TO[]]` type, you can configure the\n`...TO[]` through the {@link additionalItems} property." - }, - "additionalItems": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Additional items", - "description": "Additional items.\n\nThe `additionalItems` means the type schema info of the additional items\nafter the {@link prefixItems}. In the TypeScript, if there's a type\n`[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n\nBy the way, if you configure the `additionalItems` as `true`, it means\nthe additional items are not restricted. They can be any type, so that\nit is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n\nOtherwise configure the `additionalItems` as the {@link IJsonSchema},\nit means the additional items must follow the type schema info.\nTherefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`." - }, - "uniqueItems": { - "type": "boolean", - "title": "Unique items restriction", - "description": "Unique items restriction.\n\nIf this property value is `true`, target tuple must have unique items." - }, - "minItems": { - "type": "integer", - "title": "Minimum items restriction", - "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the tuple." - }, - "maxItems": { - "type": "integer", - "title": "Maximum items restriction", - "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the tuple." - }, - "type": { - "type": "string", - "enum": [ - "array" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "prefixItems", - "type" - ], - "description": "Tuple type info." - }, - "OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "properties": { - "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", - "title": "Properties of the object", - "description": "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property,\nand the value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead." - }, - "additionalProperties": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Additional properties' info", - "description": "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `true`, it means that the additional properties are not\nrestricted. They can be any type. Otherwise, if the value is\n{@link IOpenAiSchema} type, it means that the additional properties must\nfollow the type schema info.\n\n- `true`: `Record`\n- `IOpenAiSchema`: `Record`" - }, - "required": { - "type": "array", - "items": { - "type": "string" - }, - "title": "List of key values of the required properties", - "description": "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be filled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso 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```" - }, - "type": { - "type": "string", - "enum": [ - "object" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Object type info." - }, - "OpenApi.IJsonSchema.IReferencestring": { - "type": "object", - "properties": { - "$ref": { - "type": "string", - "title": "Reference to the named schema", - "description": "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link OpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`" - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "$ref" - ], - "description": "Reference type directing named schema." - }, - "OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "oneOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ] - }, - "title": "List of the union types", - "description": "List of the union types." - }, - "discriminator": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOf.IDiscriminator", - "title": "Discriminator info of the union type", - "description": "Discriminator info of the union type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "oneOf" - ], - "description": "Union type.\n\nIOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\nconverts it to `oneOf` type." - }, - "OpenApi.IJsonSchema.INull": { - "type": "object", - "properties": { - "default": { - "type": "null", - "title": "Default value", - "description": "Default value." - }, - "type": { - "type": "string", - "enum": [ - "null" - ], - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Null type." - }, - "OpenApi.IJsonSchema.IUnknown": { - "type": "object", - "properties": { - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "description": "Unknown, the `any` type." - }, - "OpenApi.IJsonSchema.IOneOf.IDiscriminator": { - "type": "object", - "properties": { - "propertyName": { - "type": "string", - "title": "Property name for the discriminator", - "description": "Property name for the discriminator." - }, - "mapping": { - "$ref": "#/components/schemas/Recordstringstring", - "title": "Mapping of the discriminator value to the schema name", - "description": "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\nthe discriminator value, and `value` of `mapping` is the\nschema name like `#/components/schemas/SomeObject`." - } - }, - "required": [ - "propertyName" - ], - "description": "Discriminator info of the union type." - }, - "Recordstringstring": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "type": "string" - } - }, - "RecordstringOpenApi.ISecurityScheme": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme" - } - }, - "OpenApi.ISecurityScheme": { - "oneOf": [ - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IApiKey" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBasic" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBearer" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOpenId" - } - ], - "title": "Security scheme of Swagger Documents", - "description": "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\nsecurity schemes as an union type like below." - }, - "OpenApi.ISecurityScheme.IApiKey": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "apiKey" - ] - }, - "in": { - "type": "string", - "enum": [ - "cookie", - "header", - "query" - ] - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type" - ], - "description": "Normal API key type." - }, - "OpenApi.ISecurityScheme.IHttpBasic": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "http" - ] - }, - "scheme": { - "type": "string", - "enum": [ - "basic" - ] - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "scheme" - ], - "description": "HTTP basic authentication type." - }, - "OpenApi.ISecurityScheme.IHttpBearer": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "http" - ] - }, - "scheme": { - "type": "string", - "enum": [ - "bearer" - ] - }, - "bearerFormat": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "scheme" - ], - "description": "HTTP bearer authentication type." - }, - "OpenApi.ISecurityScheme.IOAuth2": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "flows": { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlowSet" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "flows" - ], - "description": "OAuth2 authentication type." - }, - "OpenApi.ISecurityScheme.IOAuth2.IFlowSet": { - "type": "object", - "properties": { - "authorizationCode": { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlow" - }, - "implicit": { - "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl" - }, - "password": { - "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" - }, - "clientCredentials": { - "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" - } - } - }, - "OpenApi.ISecurityScheme.IOAuth2.IFlow": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" - }, - "tokenUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/components/schemas/Recordstringstring" - } - } - }, - "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/components/schemas/Recordstringstring" - } - }, - "description": "Construct a type with the properties of T except for those in type K." - }, - "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl": { - "type": "object", - "properties": { - "tokenUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/components/schemas/Recordstringstring" - } - }, - "description": "Construct a type with the properties of T except for those in type K." - }, - "OpenApi.ISecurityScheme.IOpenId": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "openIdConnect" - ] - }, - "openIdConnectUrl": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "openIdConnectUrl" - ] - } - } - }, - "schemas": [ - { - "$ref": "#/components/schemas/UltimateUnion" - } - ] -} \ No newline at end of file diff --git a/test/schemas/json/v3_1/UltimateUnion.json b/test/schemas/json/v3_1/UltimateUnion.json deleted file mode 100644 index 78ad64a579..0000000000 --- a/test/schemas/json/v3_1/UltimateUnion.json +++ /dev/null @@ -1,1097 +0,0 @@ -{ - "version": "3.1", - "components": { - "schemas": { - "UltimateUnion": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IJsonSchemaCollection.IV3_1Arrayunknown" - } - }, - "IJsonSchemaCollection.IV3_1Arrayunknown": { - "type": "object", - "properties": { - "version": { - "const": "3.1" - }, - "components": { - "$ref": "#/components/schemas/OpenApi.IComponentsOpenApi.IJsonSchema" - }, - "schemas": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema" - } - }, - "__types": { - "type": "array", - "items": {} - } - }, - "required": [ - "version", - "components", - "schemas" - ] - }, - "OpenApi.IComponentsOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "schemas": { - "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", - "title": "An object to hold reusable DTO schemas", - "description": "An object to hold reusable DTO schemas.\n\nIn other words, a collection of named JSON schemas." - }, - "securitySchemes": { - "$ref": "#/components/schemas/RecordstringOpenApi.ISecurityScheme", - "title": "An object to hold reusable security schemes", - "description": "An object to hold reusable security schemes.\n\nIn other words, a collection of named security schemes." - } - }, - "description": "Reusable components in OpenAPI.\n\nA storage of reusable components in OpenAPI document.\n\nIn other words, it is a storage of named DTO schemas and security schemes." - }, - "RecordstringOpenApi.IJsonSchema": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema" - } - }, - "OpenApi.IJsonSchema": { - "oneOf": [ - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Type schema info", - "description": "Type schema info.\n\n`OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n\n`OpenApi.IJsonSchema` basically follows the JSON schema definition of\nOpenAPI v3.1, but a little bit shrinked to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience and clarity.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@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.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link OpenApi.IJsonSchema.IObject}" - }, - "OpenApi.IJsonSchema.IString": { - "type": "object", - "properties": { - "default": { - "type": "string", - "title": "Default value", - "description": "Default value." - }, - "format": { - "type": "string", - "title": "Format restriction", - "description": "Format restriction." - }, - "pattern": { - "type": "string", - "title": "Pattern restriction", - "description": "Pattern restriction." - }, - "contentMediaType": { - "type": "string", - "title": "Content media type restriction", - "description": "Content media type restriction." - }, - "minLength": { - "type": "integer", - "title": "Minimum length restriction", - "description": "Minimum length restriction." - }, - "maxLength": { - "type": "integer", - "title": "Maximum length restriction", - "description": "Maximum length restriction." - }, - "type": { - "const": "string", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "String type info." - }, - "Recordstringany": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": {} - }, - "OpenApi.IJsonSchema.INumber": { - "type": "object", - "properties": { - "default": { - "type": "number", - "title": "Default value", - "description": "Default value." - }, - "minimum": { - "type": "number", - "title": "Minimum value restriction", - "description": "Minimum value restriction." - }, - "maximum": { - "type": "number", - "title": "Maximum value restriction", - "description": "Maximum value restriction." - }, - "exclusiveMinimum": { - "type": "boolean", - "title": "Exclusive minimum value restriction", - "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." - }, - "exclusiveMaximum": { - "type": "boolean", - "title": "Exclusive maximum value restriction", - "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": true, - "minimum": 0, - "title": "Multiple of value restriction", - "description": "Multiple of value restriction." - }, - "type": { - "const": "number", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Number (double) type info." - }, - "OpenApi.IJsonSchema.IConstant": { - "type": "object", - "properties": { - "const": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "The constant value", - "description": "The constant value." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "const" - ], - "description": "Constant value type." - }, - "OpenApi.IJsonSchema.IBoolean": { - "type": "object", - "properties": { - "default": { - "type": "boolean", - "title": "The default value", - "description": "The default value." - }, - "type": { - "const": "boolean", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Boolean type info." - }, - "OpenApi.IJsonSchema.IInteger": { - "type": "object", - "properties": { - "default": { - "type": "integer", - "title": "Default value", - "description": "Default value." - }, - "minimum": { - "type": "integer", - "title": "Minimum value restriction", - "description": "Minimum value restriction." - }, - "maximum": { - "type": "integer", - "title": "Maximum value restriction", - "description": "Maximum value restriction." - }, - "exclusiveMinimum": { - "type": "boolean", - "title": "Exclusive minimum value restriction", - "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." - }, - "exclusiveMaximum": { - "type": "boolean", - "title": "Exclusive maximum value restriction", - "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." - }, - "multipleOf": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 0, - "title": "Multiple of value restriction", - "description": "Multiple of value restriction." - }, - "type": { - "const": "integer", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Integer type info." - }, - "OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "items": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema", - "title": "Items type info", - "description": "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type `Array`." - }, - "uniqueItems": { - "type": "boolean", - "title": "Unique items restriction", - "description": "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items." - }, - "minItems": { - "type": "integer", - "title": "Minimum items restriction", - "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the array." - }, - "maxItems": { - "type": "integer", - "title": "Maximum items restriction", - "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the array." - }, - "type": { - "const": "array", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "items", - "type" - ], - "description": "Array type info." - }, - "OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "prefixItems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema" - }, - "title": "Prefix items", - "description": "Prefix items.\n\nThe `prefixItems` means the type schema info of the prefix items in the\ntuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n\nIf you want to express `[T1, T2, ...TO[]]` type, you can configure the\n`...TO[]` through the {@link additionalItems} property." - }, - "additionalItems": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Additional items", - "description": "Additional items.\n\nThe `additionalItems` means the type schema info of the additional items\nafter the {@link prefixItems}. In the TypeScript, if there's a type\n`[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n\nBy the way, if you configure the `additionalItems` as `true`, it means\nthe additional items are not restricted. They can be any type, so that\nit is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n\nOtherwise configure the `additionalItems` as the {@link IJsonSchema},\nit means the additional items must follow the type schema info.\nTherefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`." - }, - "uniqueItems": { - "type": "boolean", - "title": "Unique items restriction", - "description": "Unique items restriction.\n\nIf this property value is `true`, target tuple must have unique items." - }, - "minItems": { - "type": "integer", - "title": "Minimum items restriction", - "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the tuple." - }, - "maxItems": { - "type": "integer", - "title": "Maximum items restriction", - "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the tuple." - }, - "type": { - "const": "array", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "prefixItems", - "type" - ], - "description": "Tuple type info." - }, - "OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "properties": { - "$ref": "#/components/schemas/RecordstringOpenApi.IJsonSchema", - "title": "Properties of the object", - "description": "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property,\nand the value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead." - }, - "additionalProperties": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Additional properties' info", - "description": "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `true`, it means that the additional properties are not\nrestricted. They can be any type. Otherwise, if the value is\n{@link IOpenAiSchema} type, it means that the additional properties must\nfollow the type schema info.\n\n- `true`: `Record`\n- `IOpenAiSchema`: `Record`" - }, - "required": { - "type": "array", - "items": { - "type": "string" - }, - "title": "List of key values of the required properties", - "description": "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be filled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso 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```" - }, - "type": { - "const": "object", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Object type info." - }, - "OpenApi.IJsonSchema.IReferencestring": { - "type": "object", - "properties": { - "$ref": { - "type": "string", - "title": "Reference to the named schema", - "description": "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link OpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`" - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "$ref" - ], - "description": "Reference type directing named schema." - }, - "OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "oneOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IUnknown" - } - ] - }, - "title": "List of the union types", - "description": "List of the union types." - }, - "discriminator": { - "$ref": "#/components/schemas/OpenApi.IJsonSchema.IOneOf.IDiscriminator", - "title": "Discriminator info of the union type", - "description": "Discriminator info of the union type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "oneOf" - ], - "description": "Union type.\n\nIOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\nconverts it to `oneOf` type." - }, - "OpenApi.IJsonSchema.INull": { - "type": "object", - "properties": { - "default": { - "type": "null", - "title": "Default value", - "description": "Default value." - }, - "type": { - "const": "null", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Null type." - }, - "OpenApi.IJsonSchema.IUnknown": { - "type": "object", - "properties": { - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/components/schemas/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "description": "Unknown, the `any` type." - }, - "OpenApi.IJsonSchema.IOneOf.IDiscriminator": { - "type": "object", - "properties": { - "propertyName": { - "type": "string", - "title": "Property name for the discriminator", - "description": "Property name for the discriminator." - }, - "mapping": { - "$ref": "#/components/schemas/Recordstringstring", - "title": "Mapping of the discriminator value to the schema name", - "description": "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\nthe discriminator value, and `value` of `mapping` is the\nschema name like `#/components/schemas/SomeObject`." - } - }, - "required": [ - "propertyName" - ], - "description": "Discriminator info of the union type." - }, - "Recordstringstring": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "type": "string" - } - }, - "RecordstringOpenApi.ISecurityScheme": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme" - } - }, - "OpenApi.ISecurityScheme": { - "oneOf": [ - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IApiKey" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBasic" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IHttpBearer" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2" - }, - { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOpenId" - } - ], - "title": "Security scheme of Swagger Documents", - "description": "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\nsecurity schemes as an union type like below." - }, - "OpenApi.ISecurityScheme.IApiKey": { - "type": "object", - "properties": { - "type": { - "const": "apiKey" - }, - "in": { - "oneOf": [ - { - "const": "cookie" - }, - { - "const": "header" - }, - { - "const": "query" - } - ] - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type" - ], - "description": "Normal API key type." - }, - "OpenApi.ISecurityScheme.IHttpBasic": { - "type": "object", - "properties": { - "type": { - "const": "http" - }, - "scheme": { - "const": "basic" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "scheme" - ], - "description": "HTTP basic authentication type." - }, - "OpenApi.ISecurityScheme.IHttpBearer": { - "type": "object", - "properties": { - "type": { - "const": "http" - }, - "scheme": { - "const": "bearer" - }, - "bearerFormat": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "scheme" - ], - "description": "HTTP bearer authentication type." - }, - "OpenApi.ISecurityScheme.IOAuth2": { - "type": "object", - "properties": { - "type": { - "const": "oauth2" - }, - "flows": { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlowSet" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "flows" - ], - "description": "OAuth2 authentication type." - }, - "OpenApi.ISecurityScheme.IOAuth2.IFlowSet": { - "type": "object", - "properties": { - "authorizationCode": { - "$ref": "#/components/schemas/OpenApi.ISecurityScheme.IOAuth2.IFlow" - }, - "implicit": { - "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl" - }, - "password": { - "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" - }, - "clientCredentials": { - "$ref": "#/components/schemas/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" - } - } - }, - "OpenApi.ISecurityScheme.IOAuth2.IFlow": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" - }, - "tokenUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/components/schemas/Recordstringstring" - } - } - }, - "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/components/schemas/Recordstringstring" - } - }, - "description": "Construct a type with the properties of T except for those in type K." - }, - "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl": { - "type": "object", - "properties": { - "tokenUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/components/schemas/Recordstringstring" - } - }, - "description": "Construct a type with the properties of T except for those in type K." - }, - "OpenApi.ISecurityScheme.IOpenId": { - "type": "object", - "properties": { - "type": { - "const": "openIdConnect" - }, - "openIdConnectUrl": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "openIdConnectUrl" - ] - } - } - }, - "schemas": [ - { - "$ref": "#/components/schemas/UltimateUnion" - } - ] -} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayAny.json b/test/schemas/llm.application/3.0/ArrayAny.json new file mode 100644 index 0000000000..d15c52eaa8 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayAny.json @@ -0,0 +1,479 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayAtomicAlias.json b/test/schemas/llm.application/3.0/ArrayAtomicAlias.json new file mode 100644 index 0000000000..8a7dd9770a --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayAtomicAlias.json @@ -0,0 +1,271 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayAtomicSimple.json b/test/schemas/llm.application/3.0/ArrayAtomicSimple.json new file mode 100644 index 0000000000..8a7dd9770a --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayAtomicSimple.json @@ -0,0 +1,271 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayHierarchical.json b/test/schemas/llm.application/3.0/ArrayHierarchical.json new file mode 100644 index 0000000000..2932562d77 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayHierarchical.json @@ -0,0 +1,1063 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayHierarchicalPointer.json b/test/schemas/llm.application/3.0/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..2dc4bd89e1 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayHierarchicalPointer.json @@ -0,0 +1,1135 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayMatrix.json b/test/schemas/llm.application/3.0/ArrayMatrix.json new file mode 100644 index 0000000000..b0bbe71d8e --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayMatrix.json @@ -0,0 +1,151 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "second": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRecursive.json b/test/schemas/llm.application/3.0/ArrayRecursive.json new file mode 100644 index 0000000000..31d0cf2293 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRecursive.json @@ -0,0 +1,1383 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRecursiveUnionExplicit.json b/test/schemas/llm.application/3.0/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..4545027189 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRecursiveUnionExplicit.json @@ -0,0 +1,14503 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/llm.application/3.0/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..0556382f15 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1,15295 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRecursiveUnionImplicit.json b/test/schemas/llm.application/3.0/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..f2f06161a4 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRecursiveUnionImplicit.json @@ -0,0 +1,25287 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRepeatedNullable.json b/test/schemas/llm.application/3.0/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..1127a24c3b --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRepeatedNullable.json @@ -0,0 +1,588 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "second": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "second": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "third": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRepeatedRequired.json b/test/schemas/llm.application/3.0/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..c3e8350fc9 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRepeatedRequired.json @@ -0,0 +1,537 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "second": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "nullable": true + } + ] + }, + "second": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "nullable": true + } + ] + }, + "third": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "nullable": true + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRepeatedUnion.json b/test/schemas/llm.application/3.0/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..0169085f50 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRepeatedUnion.json @@ -0,0 +1,4284 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + } + ] + }, + "second": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + } + ] + }, + "third": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayRepeatedUnionWithTuple.json b/test/schemas/llm.application/3.0/ArrayRepeatedUnionWithTuple.json new file mode 100644 index 0000000000..f51910851e --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayRepeatedUnionWithTuple.json @@ -0,0 +1,9437 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "second": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + }, + "second": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + }, + "third": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "oneOf": [ + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "nullable": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArraySimple.json b/test/schemas/llm.application/3.0/ArraySimple.json new file mode 100644 index 0000000000..e09490acef --- /dev/null +++ b/test/schemas/llm.application/3.0/ArraySimple.json @@ -0,0 +1,399 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ArrayUnion.json b/test/schemas/llm.application/3.0/ArrayUnion.json new file mode 100644 index 0000000000..c623ba1fe5 --- /dev/null +++ b/test/schemas/llm.application/3.0/ArrayUnion.json @@ -0,0 +1,255 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/AtomicAlias.json b/test/schemas/llm.application/3.0/AtomicAlias.json new file mode 100644 index 0000000000..36da4496a6 --- /dev/null +++ b/test/schemas/llm.application/3.0/AtomicAlias.json @@ -0,0 +1,199 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/AtomicClass.json b/test/schemas/llm.application/3.0/AtomicClass.json new file mode 100644 index 0000000000..12450cea1b --- /dev/null +++ b/test/schemas/llm.application/3.0/AtomicClass.json @@ -0,0 +1,343 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/AtomicIntersection.json b/test/schemas/llm.application/3.0/AtomicIntersection.json new file mode 100644 index 0000000000..36da4496a6 --- /dev/null +++ b/test/schemas/llm.application/3.0/AtomicIntersection.json @@ -0,0 +1,199 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/AtomicSimple.json b/test/schemas/llm.application/3.0/AtomicSimple.json new file mode 100644 index 0000000000..36da4496a6 --- /dev/null +++ b/test/schemas/llm.application/3.0/AtomicSimple.json @@ -0,0 +1,199 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/AtomicUnion.json b/test/schemas/llm.application/3.0/AtomicUnion.json new file mode 100644 index 0000000000..55675ef97e --- /dev/null +++ b/test/schemas/llm.application/3.0/AtomicUnion.json @@ -0,0 +1,207 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ClassGetter.json b/test/schemas/llm.application/3.0/ClassGetter.json new file mode 100644 index 0000000000..878267e18f --- /dev/null +++ b/test/schemas/llm.application/3.0/ClassGetter.json @@ -0,0 +1,223 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ClassMethod.json b/test/schemas/llm.application/3.0/ClassMethod.json new file mode 100644 index 0000000000..7dfa9bd017 --- /dev/null +++ b/test/schemas/llm.application/3.0/ClassMethod.json @@ -0,0 +1,183 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ClassPropertyAssignment.json b/test/schemas/llm.application/3.0/ClassPropertyAssignment.json new file mode 100644 index 0000000000..d3b7d8a9ab --- /dev/null +++ b/test/schemas/llm.application/3.0/ClassPropertyAssignment.json @@ -0,0 +1,327 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagArray.json b/test/schemas/llm.application/3.0/CommentTagArray.json new file mode 100644 index 0000000000..cd044297c8 --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagArray.json @@ -0,0 +1,559 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagArrayUnion.json b/test/schemas/llm.application/3.0/CommentTagArrayUnion.json new file mode 100644 index 0000000000..69b7872dd3 --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagArrayUnion.json @@ -0,0 +1,471 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagAtomicUnion.json b/test/schemas/llm.application/3.0/CommentTagAtomicUnion.json new file mode 100644 index 0000000000..6416f03269 --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagAtomicUnion.json @@ -0,0 +1,327 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagDefault.json b/test/schemas/llm.application/3.0/CommentTagDefault.json new file mode 100644 index 0000000000..033ed8798f --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagDefault.json @@ -0,0 +1,943 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagFormat.json b/test/schemas/llm.application/3.0/CommentTagFormat.json new file mode 100644 index 0000000000..99ea322095 --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagFormat.json @@ -0,0 +1,999 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagLength.json b/test/schemas/llm.application/3.0/CommentTagLength.json new file mode 100644 index 0000000000..167d18d8cf --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagLength.json @@ -0,0 +1,439 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagObjectUnion.json b/test/schemas/llm.application/3.0/CommentTagObjectUnion.json new file mode 100644 index 0000000000..a0f90710a2 --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagObjectUnion.json @@ -0,0 +1,327 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagPattern.json b/test/schemas/llm.application/3.0/CommentTagPattern.json new file mode 100644 index 0000000000..b4a85e80b5 --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagPattern.json @@ -0,0 +1,279 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagRange.json b/test/schemas/llm.application/3.0/CommentTagRange.json new file mode 100644 index 0000000000..3e987b2a47 --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagRange.json @@ -0,0 +1,663 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/CommentTagType.json b/test/schemas/llm.application/3.0/CommentTagType.json new file mode 100644 index 0000000000..029e89c72a --- /dev/null +++ b/test/schemas/llm.application/3.0/CommentTagType.json @@ -0,0 +1,471 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantAtomicAbsorbed.json b/test/schemas/llm.application/3.0/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..1ff700a1cf --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantAtomicAbsorbed.json @@ -0,0 +1,199 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantAtomicSimple.json b/test/schemas/llm.application/3.0/ConstantAtomicSimple.json new file mode 100644 index 0000000000..ca3d08a750 --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantAtomicSimple.json @@ -0,0 +1,319 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantAtomicTagged.json b/test/schemas/llm.application/3.0/ConstantAtomicTagged.json new file mode 100644 index 0000000000..7b71b0b2ab --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantAtomicTagged.json @@ -0,0 +1,303 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "enum": [ + "latest" + ] + }, + "age": { + "oneOf": [ + { + "type": "integer", + "maximum": 100 + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantAtomicUnion.json b/test/schemas/llm.application/3.0/ConstantAtomicUnion.json new file mode 100644 index 0000000000..c83f260fb3 --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantAtomicUnion.json @@ -0,0 +1,391 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantAtomicWrapper.json b/test/schemas/llm.application/3.0/ConstantAtomicWrapper.json new file mode 100644 index 0000000000..d5bfda16e6 --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantAtomicWrapper.json @@ -0,0 +1,415 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantConstEnumeration.json b/test/schemas/llm.application/3.0/ConstantConstEnumeration.json new file mode 100644 index 0000000000..497758484b --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantConstEnumeration.json @@ -0,0 +1,231 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantEnumeration.json b/test/schemas/llm.application/3.0/ConstantEnumeration.json new file mode 100644 index 0000000000..497758484b --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantEnumeration.json @@ -0,0 +1,231 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ConstantIntersection.json b/test/schemas/llm.application/3.0/ConstantIntersection.json new file mode 100644 index 0000000000..6f459b2c8a --- /dev/null +++ b/test/schemas/llm.application/3.0/ConstantIntersection.json @@ -0,0 +1,271 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicArray.json b/test/schemas/llm.application/3.0/DynamicArray.json new file mode 100644 index 0000000000..bfce352cf4 --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicArray.json @@ -0,0 +1,207 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicComposite.json b/test/schemas/llm.application/3.0/DynamicComposite.json new file mode 100644 index 0000000000..00d1cecb77 --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicComposite.json @@ -0,0 +1,279 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicConstant.json b/test/schemas/llm.application/3.0/DynamicConstant.json new file mode 100644 index 0000000000..4dbd4019d2 --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicConstant.json @@ -0,0 +1,319 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicEnumeration.json b/test/schemas/llm.application/3.0/DynamicEnumeration.json new file mode 100644 index 0000000000..6f220df4bc --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicEnumeration.json @@ -0,0 +1,415 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicNever.json b/test/schemas/llm.application/3.0/DynamicNever.json new file mode 100644 index 0000000000..27eed4f8ff --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicNever.json @@ -0,0 +1,95 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicSimple.json b/test/schemas/llm.application/3.0/DynamicSimple.json new file mode 100644 index 0000000000..ce8b7a27ec --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicSimple.json @@ -0,0 +1,183 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicTemplate.json b/test/schemas/llm.application/3.0/DynamicTemplate.json new file mode 100644 index 0000000000..8a9fcf9e5e --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicTemplate.json @@ -0,0 +1,191 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "third": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicTree.json b/test/schemas/llm.application/3.0/DynamicTree.json new file mode 100644 index 0000000000..3dd2dd36bb --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicTree.json @@ -0,0 +1,767 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicUndefined.json b/test/schemas/llm.application/3.0/DynamicUndefined.json new file mode 100644 index 0000000000..27eed4f8ff --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicUndefined.json @@ -0,0 +1,95 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/DynamicUnion.json b/test/schemas/llm.application/3.0/DynamicUnion.json new file mode 100644 index 0000000000..0ec0ba38d1 --- /dev/null +++ b/test/schemas/llm.application/3.0/DynamicUnion.json @@ -0,0 +1,167 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "nullable": true + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "nullable": true + }, + "third": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectAlias.json b/test/schemas/llm.application/3.0/ObjectAlias.json new file mode 100644 index 0000000000..37a871fb3e --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectAlias.json @@ -0,0 +1,495 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectDate.json b/test/schemas/llm.application/3.0/ObjectDate.json new file mode 100644 index 0000000000..78ad196614 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectDate.json @@ -0,0 +1,351 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectDescription.json b/test/schemas/llm.application/3.0/ObjectDescription.json new file mode 100644 index 0000000000..4662bf6840 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectDescription.json @@ -0,0 +1,389 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectDynamic.json b/test/schemas/llm.application/3.0/ObjectDynamic.json new file mode 100644 index 0000000000..8a9fcf9e5e --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectDynamic.json @@ -0,0 +1,191 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "second": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "third": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectGeneric.json b/test/schemas/llm.application/3.0/ObjectGeneric.json new file mode 100644 index 0000000000..50989320ae --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectGeneric.json @@ -0,0 +1,1303 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectGenericAlias.json b/test/schemas/llm.application/3.0/ObjectGenericAlias.json new file mode 100644 index 0000000000..3c55671e8d --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectGenericAlias.json @@ -0,0 +1,151 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectGenericArray.json b/test/schemas/llm.application/3.0/ObjectGenericArray.json new file mode 100644 index 0000000000..8bfde01f12 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectGenericArray.json @@ -0,0 +1,479 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectGenericUnion.json b/test/schemas/llm.application/3.0/ObjectGenericUnion.json new file mode 100644 index 0000000000..ee25d69674 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectGenericUnion.json @@ -0,0 +1,2623 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectHierarchical.json b/test/schemas/llm.application/3.0/ObjectHierarchical.json new file mode 100644 index 0000000000..62dd4087cf --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectHierarchical.json @@ -0,0 +1,2399 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false, + "nullable": true + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectInternal.json b/test/schemas/llm.application/3.0/ObjectInternal.json new file mode 100644 index 0000000000..293b284694 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectInternal.json @@ -0,0 +1,183 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectIntersection.json b/test/schemas/llm.application/3.0/ObjectIntersection.json new file mode 100644 index 0000000000..68164d27d6 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectIntersection.json @@ -0,0 +1,215 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectJsonTag.json b/test/schemas/llm.application/3.0/ObjectJsonTag.json new file mode 100644 index 0000000000..ce029d0be0 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectJsonTag.json @@ -0,0 +1,303 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectLiteralProperty.json b/test/schemas/llm.application/3.0/ObjectLiteralProperty.json new file mode 100644 index 0000000000..2a36635632 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectLiteralProperty.json @@ -0,0 +1,183 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectLiteralType.json b/test/schemas/llm.application/3.0/ObjectLiteralType.json new file mode 100644 index 0000000000..fe70b9b2bc --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectLiteralType.json @@ -0,0 +1,215 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectNullable.json b/test/schemas/llm.application/3.0/ObjectNullable.json new file mode 100644 index 0000000000..ee1e0e77d8 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectNullable.json @@ -0,0 +1,935 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false, + "nullable": true + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectOptional.json b/test/schemas/llm.application/3.0/ObjectOptional.json new file mode 100644 index 0000000000..2f5df31de2 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectOptional.json @@ -0,0 +1,199 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectPartial.json b/test/schemas/llm.application/3.0/ObjectPartial.json new file mode 100644 index 0000000000..d98f1f023f --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectPartial.json @@ -0,0 +1,1178 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectPartialAndRequired.json b/test/schemas/llm.application/3.0/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..94e7c7ed9b --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectPartialAndRequired.json @@ -0,0 +1,903 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectPrimitive.json b/test/schemas/llm.application/3.0/ObjectPrimitive.json new file mode 100644 index 0000000000..aa43c44c3b --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectPrimitive.json @@ -0,0 +1,607 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectPropertyNullable.json b/test/schemas/llm.application/3.0/ObjectPropertyNullable.json new file mode 100644 index 0000000000..542f0b11a4 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectPropertyNullable.json @@ -0,0 +1,847 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectRecursive.json b/test/schemas/llm.application/3.0/ObjectRecursive.json new file mode 100644 index 0000000000..6ea85d6def --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectRecursive.json @@ -0,0 +1,1447 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectRequired.json b/test/schemas/llm.application/3.0/ObjectRequired.json new file mode 100644 index 0000000000..11581d886c --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectRequired.json @@ -0,0 +1,1010 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectSimple.json b/test/schemas/llm.application/3.0/ObjectSimple.json new file mode 100644 index 0000000000..333220bda8 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectSimple.json @@ -0,0 +1,791 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectTuple.json b/test/schemas/llm.application/3.0/ObjectTuple.json new file mode 100644 index 0000000000..dc2c9c399b --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectTuple.json @@ -0,0 +1,447 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUndefined.json b/test/schemas/llm.application/3.0/ObjectUndefined.json new file mode 100644 index 0000000000..0621669fab --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUndefined.json @@ -0,0 +1,423 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUnionComposite.json b/test/schemas/llm.application/3.0/ObjectUnionComposite.json new file mode 100644 index 0000000000..ac64c6cee0 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUnionComposite.json @@ -0,0 +1,3023 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUnionCompositePointer.json b/test/schemas/llm.application/3.0/ObjectUnionCompositePointer.json new file mode 100644 index 0000000000..54cab56397 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUnionCompositePointer.json @@ -0,0 +1,3167 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUnionDouble.json b/test/schemas/llm.application/3.0/ObjectUnionDouble.json new file mode 100644 index 0000000000..ee2e92b403 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUnionDouble.json @@ -0,0 +1,1223 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUnionExplicit.json b/test/schemas/llm.application/3.0/ObjectUnionExplicit.json new file mode 100644 index 0000000000..059ab6a309 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUnionExplicit.json @@ -0,0 +1,3055 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUnionExplicitPointer.json b/test/schemas/llm.application/3.0/ObjectUnionExplicitPointer.json new file mode 100644 index 0000000000..a49bb9dc31 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUnionExplicitPointer.json @@ -0,0 +1,3199 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUnionImplicit.json b/test/schemas/llm.application/3.0/ObjectUnionImplicit.json new file mode 100644 index 0000000000..b7c889e74a --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUnionImplicit.json @@ -0,0 +1,3511 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "type": "number", + "nullable": true + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ObjectUnionNonPredictable.json b/test/schemas/llm.application/3.0/ObjectUnionNonPredictable.json new file mode 100644 index 0000000000..0b6f223997 --- /dev/null +++ b/test/schemas/llm.application/3.0/ObjectUnionNonPredictable.json @@ -0,0 +1,831 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TemplateAtomic.json b/test/schemas/llm.application/3.0/TemplateAtomic.json new file mode 100644 index 0000000000..2ed02d9f45 --- /dev/null +++ b/test/schemas/llm.application/3.0/TemplateAtomic.json @@ -0,0 +1,463 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TemplateConstant.json b/test/schemas/llm.application/3.0/TemplateConstant.json new file mode 100644 index 0000000000..b1ad910b05 --- /dev/null +++ b/test/schemas/llm.application/3.0/TemplateConstant.json @@ -0,0 +1,479 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TemplateUnion.json b/test/schemas/llm.application/3.0/TemplateUnion.json new file mode 100644 index 0000000000..19e7a711cd --- /dev/null +++ b/test/schemas/llm.application/3.0/TemplateUnion.json @@ -0,0 +1,615 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ToJsonArray.json b/test/schemas/llm.application/3.0/ToJsonArray.json new file mode 100644 index 0000000000..d356cb6162 --- /dev/null +++ b/test/schemas/llm.application/3.0/ToJsonArray.json @@ -0,0 +1,391 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ToJsonAtomicSimple.json b/test/schemas/llm.application/3.0/ToJsonAtomicSimple.json new file mode 100644 index 0000000000..36da4496a6 --- /dev/null +++ b/test/schemas/llm.application/3.0/ToJsonAtomicSimple.json @@ -0,0 +1,199 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ToJsonAtomicUnion.json b/test/schemas/llm.application/3.0/ToJsonAtomicUnion.json new file mode 100644 index 0000000000..55675ef97e --- /dev/null +++ b/test/schemas/llm.application/3.0/ToJsonAtomicUnion.json @@ -0,0 +1,207 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ToJsonDouble.json b/test/schemas/llm.application/3.0/ToJsonDouble.json new file mode 100644 index 0000000000..79d70087d8 --- /dev/null +++ b/test/schemas/llm.application/3.0/ToJsonDouble.json @@ -0,0 +1,183 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ToJsonNull.json b/test/schemas/llm.application/3.0/ToJsonNull.json new file mode 100644 index 0000000000..3fcdd389e2 --- /dev/null +++ b/test/schemas/llm.application/3.0/ToJsonNull.json @@ -0,0 +1,74 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + }, + "second": { + "type": "null" + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "null" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + }, + "second": { + "type": "null" + }, + "third": { + "type": "null" + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "null" + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ToJsonTuple.json b/test/schemas/llm.application/3.0/ToJsonTuple.json new file mode 100644 index 0000000000..7bd69ce428 --- /dev/null +++ b/test/schemas/llm.application/3.0/ToJsonTuple.json @@ -0,0 +1,327 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ] + }, + "minItems": 4, + "maxItems": 4, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/ToJsonUnion.json b/test/schemas/llm.application/3.0/ToJsonUnion.json new file mode 100644 index 0000000000..00bc551850 --- /dev/null +++ b/test/schemas/llm.application/3.0/ToJsonUnion.json @@ -0,0 +1,663 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TupleHierarchical.json b/test/schemas/llm.application/3.0/TupleHierarchical.json new file mode 100644 index 0000000000..538b362f5c --- /dev/null +++ b/test/schemas/llm.application/3.0/TupleHierarchical.json @@ -0,0 +1,1039 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TupleRestArray.json b/test/schemas/llm.application/3.0/TupleRestArray.json new file mode 100644 index 0000000000..ad381480d1 --- /dev/null +++ b/test/schemas/llm.application/3.0/TupleRestArray.json @@ -0,0 +1,215 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TupleRestAtomic.json b/test/schemas/llm.application/3.0/TupleRestAtomic.json new file mode 100644 index 0000000000..e3a898c8fd --- /dev/null +++ b/test/schemas/llm.application/3.0/TupleRestAtomic.json @@ -0,0 +1,191 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TupleRestObject.json b/test/schemas/llm.application/3.0/TupleRestObject.json new file mode 100644 index 0000000000..a1c849fbfc --- /dev/null +++ b/test/schemas/llm.application/3.0/TupleRestObject.json @@ -0,0 +1,263 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2 + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2 + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2 + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagArray.json b/test/schemas/llm.application/3.0/TypeTagArray.json new file mode 100644 index 0000000000..51e799de72 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagArray.json @@ -0,0 +1,599 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagArrayUnion.json b/test/schemas/llm.application/3.0/TypeTagArrayUnion.json new file mode 100644 index 0000000000..e3ac7f1b3b --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagArrayUnion.json @@ -0,0 +1,511 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagAtomicUnion.json b/test/schemas/llm.application/3.0/TypeTagAtomicUnion.json new file mode 100644 index 0000000000..6416f03269 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagAtomicUnion.json @@ -0,0 +1,327 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagCustom.json b/test/schemas/llm.application/3.0/TypeTagCustom.json new file mode 100644 index 0000000000..a332145882 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagCustom.json @@ -0,0 +1,279 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagDefault.json b/test/schemas/llm.application/3.0/TypeTagDefault.json new file mode 100644 index 0000000000..92561964cc --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagDefault.json @@ -0,0 +1,879 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagFormat.json b/test/schemas/llm.application/3.0/TypeTagFormat.json new file mode 100644 index 0000000000..99ea322095 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagFormat.json @@ -0,0 +1,999 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagLength.json b/test/schemas/llm.application/3.0/TypeTagLength.json new file mode 100644 index 0000000000..167d18d8cf --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagLength.json @@ -0,0 +1,439 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagMatrix.json b/test/schemas/llm.application/3.0/TypeTagMatrix.json new file mode 100644 index 0000000000..c2c6defca8 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagMatrix.json @@ -0,0 +1,239 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagObjectUnion.json b/test/schemas/llm.application/3.0/TypeTagObjectUnion.json new file mode 100644 index 0000000000..a0f90710a2 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagObjectUnion.json @@ -0,0 +1,327 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagPattern.json b/test/schemas/llm.application/3.0/TypeTagPattern.json new file mode 100644 index 0000000000..8b87002e2f --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagPattern.json @@ -0,0 +1,279 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagRange.json b/test/schemas/llm.application/3.0/TypeTagRange.json new file mode 100644 index 0000000000..3e987b2a47 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagRange.json @@ -0,0 +1,663 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagTuple.json b/test/schemas/llm.application/3.0/TypeTagTuple.json new file mode 100644 index 0000000000..d8532f6ee8 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagTuple.json @@ -0,0 +1,439 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.0/TypeTagType.json b/test/schemas/llm.application/3.0/TypeTagType.json new file mode 100644 index 0000000000..b208e1f544 --- /dev/null +++ b/test/schemas/llm.application/3.0/TypeTagType.json @@ -0,0 +1,439 @@ +{ + "model": "3.0", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayAny.json b/test/schemas/llm.application/3.1/ArrayAny.json new file mode 100644 index 0000000000..7ed612c5a9 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayAny.json @@ -0,0 +1,5199 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAny" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "components": { + "schemas": { + "ArrayAny": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayAtomicAlias.json b/test/schemas/llm.application/3.1/ArrayAtomicAlias.json new file mode 100644 index 0000000000..b5c28eafea --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayAtomicAlias.json @@ -0,0 +1,522 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ArrayAtomicAlias": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ], + "additionalItems": false + }, + "ArrayAtomicAlias.Aliasboolean": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "ArrayAtomicAlias.Aliasnumber": { + "type": "array", + "items": { + "type": "number" + } + }, + "ArrayAtomicAlias.Aliasstring": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayAtomicAlias": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ], + "additionalItems": false + }, + "ArrayAtomicAlias.Aliasboolean": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "ArrayAtomicAlias.Aliasnumber": { + "type": "array", + "items": { + "type": "number" + } + }, + "ArrayAtomicAlias.Aliasstring": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayAtomicAlias": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ], + "additionalItems": false + }, + "ArrayAtomicAlias.Aliasboolean": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "ArrayAtomicAlias.Aliasnumber": { + "type": "array", + "items": { + "type": "number" + } + }, + "ArrayAtomicAlias.Aliasstring": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayAtomicAlias": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ], + "additionalItems": false + }, + "ArrayAtomicAlias.Aliasboolean": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "ArrayAtomicAlias.Aliasnumber": { + "type": "array", + "items": { + "type": "number" + } + }, + "ArrayAtomicAlias.Aliasstring": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayAtomicAlias": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasboolean" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasnumber" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias.Aliasstring" + } + ], + "additionalItems": false + }, + "ArrayAtomicAlias.Aliasboolean": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "ArrayAtomicAlias.Aliasnumber": { + "type": "array", + "items": { + "type": "number" + } + }, + "ArrayAtomicAlias.Aliasstring": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayAtomicSimple.json b/test/schemas/llm.application/3.1/ArrayAtomicSimple.json new file mode 100644 index 0000000000..b10429c1bc --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayAtomicSimple.json @@ -0,0 +1,477 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ArrayAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayHierarchical.json b/test/schemas/llm.application/3.1/ArrayHierarchical.json new file mode 100644 index 0000000000..9fdfeedc1d --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayHierarchical.json @@ -0,0 +1,1713 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + }, + "second": { + "components": { + "schemas": { + "ArrayHierarchical": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + } + }, + "ArrayHierarchical.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchical.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchical.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayHierarchical": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + } + }, + "ArrayHierarchical.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchical.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchical.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayHierarchical": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + } + }, + "ArrayHierarchical.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchical.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchical.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayHierarchical": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + } + }, + "ArrayHierarchical.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchical.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchical.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayHierarchical": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.ICompany" + } + }, + "ArrayHierarchical.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchical.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchical.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchical.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayHierarchicalPointer.json b/test/schemas/llm.application/3.1/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..c851cd21b2 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayHierarchicalPointer.json @@ -0,0 +1,1825 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ArrayHierarchicalPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayHierarchicalPointer.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchicalPointer.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchicalPointer.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchicalPointer.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayHierarchicalPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayHierarchicalPointer.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchicalPointer.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchicalPointer.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchicalPointer.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayHierarchicalPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayHierarchicalPointer.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchicalPointer.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchicalPointer.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchicalPointer.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayHierarchicalPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayHierarchicalPointer.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchicalPointer.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchicalPointer.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchicalPointer.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayHierarchicalPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ICompany" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayHierarchicalPointer.ICompany": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "departments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IDepartment" + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "ArrayHierarchicalPointer.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ArrayHierarchicalPointer.IDepartment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.IEmployee" + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + }, + "ArrayHierarchicalPointer.IEmployee": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "$ref": "#/components/schemas/ArrayHierarchicalPointer.ITimestamp" + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayHierarchicalPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayMatrix.json b/test/schemas/llm.application/3.1/ArrayMatrix.json new file mode 100644 index 0000000000..c4822accba --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayMatrix.json @@ -0,0 +1,321 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "second": { + "components": { + "schemas": { + "ArrayMatrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayMatrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayMatrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayMatrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayMatrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRecursive.json b/test/schemas/llm.application/3.1/ArrayRecursive.json new file mode 100644 index 0000000000..a55975a702 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRecursive.json @@ -0,0 +1,1718 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "ArrayRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "ArrayRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "ArrayRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "ArrayRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ArrayRecursive.ITimestamp" + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "ArrayRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursive.ICategory" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRecursiveUnionExplicit.json b/test/schemas/llm.application/3.1/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..cb78828246 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRecursiveUnionExplicit.json @@ -0,0 +1,31704 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/llm.application/3.1/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..28c7138e16 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1,33856 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRecursiveUnionImplicit.json b/test/schemas/llm.application/3.1/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..97c8b07d10 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRecursiveUnionImplicit.json @@ -0,0 +1,98892 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRepeatedNullable.json b/test/schemas/llm.application/3.1/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..d3c03c8bf2 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRepeatedNullable.json @@ -0,0 +1,2041 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRepeatedRequired.json b/test/schemas/llm.application/3.1/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..a34a603c82 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRepeatedRequired.json @@ -0,0 +1,1958 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRepeatedUnion.json b/test/schemas/llm.application/3.1/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..5c9bae9d51 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRepeatedUnion.json @@ -0,0 +1,8137 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayRepeatedUnionWithTuple.json b/test/schemas/llm.application/3.1/ArrayRepeatedUnionWithTuple.json new file mode 100644 index 0000000000..68234fd6dd --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayRepeatedUnionWithTuple.json @@ -0,0 +1,15056 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArraySimple.json b/test/schemas/llm.application/3.1/ArraySimple.json new file mode 100644 index 0000000000..beacb772a5 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArraySimple.json @@ -0,0 +1,744 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + }, + "second": { + "components": { + "schemas": { + "ArraySimple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + } + }, + "ArraySimple.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IHobby" + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "ArraySimple.IHobby": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArraySimple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + } + }, + "ArraySimple.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IHobby" + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "ArraySimple.IHobby": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArraySimple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + } + }, + "ArraySimple.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IHobby" + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "ArraySimple.IHobby": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArraySimple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + } + }, + "ArraySimple.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IHobby" + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "ArraySimple.IHobby": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArraySimple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IPerson" + } + }, + "ArraySimple.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArraySimple.IHobby" + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "ArraySimple.IHobby": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArraySimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ArrayUnion.json b/test/schemas/llm.application/3.1/ArrayUnion.json new file mode 100644 index 0000000000..02cf9dea13 --- /dev/null +++ b/test/schemas/llm.application/3.1/ArrayUnion.json @@ -0,0 +1,953 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayUnion.IUnion" + } + }, + "ArrayUnion.IUnion": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/AtomicAlias.json b/test/schemas/llm.application/3.1/AtomicAlias.json new file mode 100644 index 0000000000..7d8a25fc04 --- /dev/null +++ b/test/schemas/llm.application/3.1/AtomicAlias.json @@ -0,0 +1,360 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "AtomicAlias": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "AtomicAlias": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "AtomicAlias": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "AtomicAlias": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "AtomicAlias": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/AtomicClass.json b/test/schemas/llm.application/3.1/AtomicClass.json new file mode 100644 index 0000000000..313be669ac --- /dev/null +++ b/test/schemas/llm.application/3.1/AtomicClass.json @@ -0,0 +1,594 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "AtomicClass": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "AtomicClass": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "AtomicClass": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "AtomicClass": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "AtomicClass": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicClass" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/AtomicIntersection.json b/test/schemas/llm.application/3.1/AtomicIntersection.json new file mode 100644 index 0000000000..1c0bd8c3d2 --- /dev/null +++ b/test/schemas/llm.application/3.1/AtomicIntersection.json @@ -0,0 +1,405 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "AtomicIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ], + "additionalItems": false + }, + "AtomicIntersection.Wrapperboolean": { + "type": "boolean" + }, + "AtomicIntersection.Wrappernumber": { + "type": "number" + }, + "AtomicIntersection.Wrapperstring": { + "type": "string" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "AtomicIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ], + "additionalItems": false + }, + "AtomicIntersection.Wrapperboolean": { + "type": "boolean" + }, + "AtomicIntersection.Wrappernumber": { + "type": "number" + }, + "AtomicIntersection.Wrapperstring": { + "type": "string" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "AtomicIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ], + "additionalItems": false + }, + "AtomicIntersection.Wrapperboolean": { + "type": "boolean" + }, + "AtomicIntersection.Wrappernumber": { + "type": "number" + }, + "AtomicIntersection.Wrapperstring": { + "type": "string" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "AtomicIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ], + "additionalItems": false + }, + "AtomicIntersection.Wrapperboolean": { + "type": "boolean" + }, + "AtomicIntersection.Wrappernumber": { + "type": "number" + }, + "AtomicIntersection.Wrapperstring": { + "type": "string" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "AtomicIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperboolean" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrappernumber" + }, + { + "$ref": "#/components/schemas/AtomicIntersection.Wrapperstring" + } + ], + "additionalItems": false + }, + "AtomicIntersection.Wrapperboolean": { + "type": "boolean" + }, + "AtomicIntersection.Wrappernumber": { + "type": "number" + }, + "AtomicIntersection.Wrapperstring": { + "type": "string" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/AtomicSimple.json b/test/schemas/llm.application/3.1/AtomicSimple.json new file mode 100644 index 0000000000..5bfea6c6a7 --- /dev/null +++ b/test/schemas/llm.application/3.1/AtomicSimple.json @@ -0,0 +1,360 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "AtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "AtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "AtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "AtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "AtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/AtomicUnion.json b/test/schemas/llm.application/3.1/AtomicUnion.json new file mode 100644 index 0000000000..38a9097051 --- /dev/null +++ b/test/schemas/llm.application/3.1/AtomicUnion.json @@ -0,0 +1,779 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "AtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AtomicUnion.Union" + } + }, + "AtomicUnion.Union": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ClassGetter.json b/test/schemas/llm.application/3.1/ClassGetter.json new file mode 100644 index 0000000000..a316a920e2 --- /dev/null +++ b/test/schemas/llm.application/3.1/ClassGetter.json @@ -0,0 +1,847 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassGetter.Person" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "components": { + "schemas": { + "ClassGetter.Person": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ClassMethod.json b/test/schemas/llm.application/3.1/ClassMethod.json new file mode 100644 index 0000000000..bb6bcdc4d1 --- /dev/null +++ b/test/schemas/llm.application/3.1/ClassMethod.json @@ -0,0 +1,368 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ClassMethod.Animal": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ClassMethod.Animal": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ClassMethod.Animal": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ClassMethod.Animal": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ClassMethod.Animal": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassMethod.Animal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ClassPropertyAssignment.json b/test/schemas/llm.application/3.1/ClassPropertyAssignment.json new file mode 100644 index 0000000000..844200da20 --- /dev/null +++ b/test/schemas/llm.application/3.1/ClassPropertyAssignment.json @@ -0,0 +1,554 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ClassPropertyAssignment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ClassPropertyAssignment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ClassPropertyAssignment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ClassPropertyAssignment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ClassPropertyAssignment": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ClassPropertyAssignment" + } + ], + "discriminator": { + "propertyName": "note", + "mapping": { + "assignment": "#/components/schemas/ClassPropertyAssignment" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "const": "assignment" + }, + "editable": { + "const": false + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagArray.json b/test/schemas/llm.application/3.1/CommentTagArray.json new file mode 100644 index 0000000000..664aa4d4b4 --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagArray.json @@ -0,0 +1,989 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagArrayUnion.json b/test/schemas/llm.application/3.1/CommentTagArrayUnion.json new file mode 100644 index 0000000000..08d3a99998 --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagArrayUnion.json @@ -0,0 +1,1411 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "second": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagArrayUnion.Type" + } + }, + "CommentTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagAtomicUnion.json b/test/schemas/llm.application/3.1/CommentTagAtomicUnion.json new file mode 100644 index 0000000000..d8aa4a45b4 --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagAtomicUnion.json @@ -0,0 +1,1044 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "CommentTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagDefault.json b/test/schemas/llm.application/3.1/CommentTagDefault.json new file mode 100644 index 0000000000..1bc641b736 --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagDefault.json @@ -0,0 +1,7301 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "CommentTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagFormat.json b/test/schemas/llm.application/3.1/CommentTagFormat.json new file mode 100644 index 0000000000..9706c2de8a --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagFormat.json @@ -0,0 +1,1694 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagLength.json b/test/schemas/llm.application/3.1/CommentTagLength.json new file mode 100644 index 0000000000..0e423d304b --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagLength.json @@ -0,0 +1,794 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagObjectUnion.json b/test/schemas/llm.application/3.1/CommentTagObjectUnion.json new file mode 100644 index 0000000000..f6c864250d --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagObjectUnion.json @@ -0,0 +1,1098 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "CommentTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagObjectUnion.Type" + } + }, + "CommentTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "CommentTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "CommentTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/CommentTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagPattern.json b/test/schemas/llm.application/3.1/CommentTagPattern.json new file mode 100644 index 0000000000..78d69fdfd4 --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagPattern.json @@ -0,0 +1,524 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagRange.json b/test/schemas/llm.application/3.1/CommentTagRange.json new file mode 100644 index 0000000000..1811fa263a --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagRange.json @@ -0,0 +1,1158 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/CommentTagType.json b/test/schemas/llm.application/3.1/CommentTagType.json new file mode 100644 index 0000000000..4dbe9b57fa --- /dev/null +++ b/test/schemas/llm.application/3.1/CommentTagType.json @@ -0,0 +1,846 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "CommentTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "CommentTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "CommentTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "CommentTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "CommentTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "CommentTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/CommentTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantAtomicAbsorbed.json b/test/schemas/llm.application/3.1/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..54b3c4d707 --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantAtomicAbsorbed.json @@ -0,0 +1,394 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicAbsorbed": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantAtomicAbsorbed": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicAbsorbed": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantAtomicAbsorbed": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantAtomicAbsorbed": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicAbsorbed" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantAtomicSimple.json b/test/schemas/llm.application/3.1/ConstantAtomicSimple.json new file mode 100644 index 0000000000..ab5905db8e --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantAtomicSimple.json @@ -0,0 +1,399 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": true + }, + { + "const": 2 + }, + { + "const": "three" + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantAtomicTagged.json b/test/schemas/llm.application/3.1/ConstantAtomicTagged.json new file mode 100644 index 0000000000..29e4d1a7d7 --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantAtomicTagged.json @@ -0,0 +1,1344 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicTagged" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "components": { + "schemas": { + "ConstantAtomicTagged": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "const": "latest" + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": -1 + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantAtomicUnion.json b/test/schemas/llm.application/3.1/ConstantAtomicUnion.json new file mode 100644 index 0000000000..58eb18eb1f --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantAtomicUnion.json @@ -0,0 +1,1193 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantAtomicUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantAtomicUnion.Union" + } + }, + "ConstantAtomicUnion.Union": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "three" + }, + { + "const": "four" + }, + { + "type": "object", + "properties": { + "key": { + "const": "key" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantAtomicWrapper.json b/test/schemas/llm.application/3.1/ConstantAtomicWrapper.json new file mode 100644 index 0000000000..addfcf4188 --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantAtomicWrapper.json @@ -0,0 +1,741 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicWrapper": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ], + "additionalItems": false + }, + "ConstantAtomicWrapper.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantAtomicWrapper": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ], + "additionalItems": false + }, + "ConstantAtomicWrapper.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantAtomicWrapper": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ], + "additionalItems": false + }, + "ConstantAtomicWrapper.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantAtomicWrapper": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ], + "additionalItems": false + }, + "ConstantAtomicWrapper.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantAtomicWrapper": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerboolean" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointernumber" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper.IPointerstring" + } + ], + "additionalItems": false + }, + "ConstantAtomicWrapper.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ConstantAtomicWrapper.IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantAtomicWrapper" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantConstEnumeration.json b/test/schemas/llm.application/3.1/ConstantConstEnumeration.json new file mode 100644 index 0000000000..118cdc4046 --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantConstEnumeration.json @@ -0,0 +1,866 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantConstEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantConstEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantConstEnumeration.Enumeration" + } + }, + "ConstantConstEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantEnumeration.json b/test/schemas/llm.application/3.1/ConstantEnumeration.json new file mode 100644 index 0000000000..43525bb909 --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantEnumeration.json @@ -0,0 +1,866 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ConstantEnumeration": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConstantEnumeration.Enumeration" + } + }, + "ConstantEnumeration.Enumeration": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": 0 + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "Three" + }, + { + "const": "Four" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ConstantIntersection.json b/test/schemas/llm.application/3.1/ConstantIntersection.json new file mode 100644 index 0000000000..fc0ef142fb --- /dev/null +++ b/test/schemas/llm.application/3.1/ConstantIntersection.json @@ -0,0 +1,405 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ConstantIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ], + "additionalItems": false + }, + "ConstantIntersection.Wrapperfalse": { + "const": false + }, + "ConstantIntersection.Wrapper1": { + "const": 1 + }, + "ConstantIntersection.Wrappertwo": { + "const": "two" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ConstantIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ], + "additionalItems": false + }, + "ConstantIntersection.Wrapperfalse": { + "const": false + }, + "ConstantIntersection.Wrapper1": { + "const": 1 + }, + "ConstantIntersection.Wrappertwo": { + "const": "two" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ConstantIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ], + "additionalItems": false + }, + "ConstantIntersection.Wrapperfalse": { + "const": false + }, + "ConstantIntersection.Wrapper1": { + "const": 1 + }, + "ConstantIntersection.Wrappertwo": { + "const": "two" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ConstantIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ], + "additionalItems": false + }, + "ConstantIntersection.Wrapperfalse": { + "const": false + }, + "ConstantIntersection.Wrapper1": { + "const": 1 + }, + "ConstantIntersection.Wrappertwo": { + "const": "two" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ConstantIntersection": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapperfalse" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrapper1" + }, + { + "$ref": "#/components/schemas/ConstantIntersection.Wrappertwo" + } + ], + "additionalItems": false + }, + "ConstantIntersection.Wrapperfalse": { + "const": false + }, + "ConstantIntersection.Wrapper1": { + "const": 1 + }, + "ConstantIntersection.Wrappertwo": { + "const": "two" + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ConstantIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "const": false + }, + { + "const": 1 + }, + { + "const": "two" + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicArray.json b/test/schemas/llm.application/3.1/DynamicArray.json new file mode 100644 index 0000000000..eccd8b780c --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicArray.json @@ -0,0 +1,407 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "DynamicArray": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicArray": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicArray": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicArray": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicArray": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicComposite.json b/test/schemas/llm.application/3.1/DynamicComposite.json new file mode 100644 index 0000000000..50b73106b3 --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicComposite.json @@ -0,0 +1,905 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "components": { + "schemas": { + "DynamicComposite": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicConstant.json b/test/schemas/llm.application/3.1/DynamicConstant.json new file mode 100644 index 0000000000..9e6be671fc --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicConstant.json @@ -0,0 +1,584 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "DynamicConstant": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicConstant": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicConstant": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicConstant": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicConstant": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicEnumeration.json b/test/schemas/llm.application/3.1/DynamicEnumeration.json new file mode 100644 index 0000000000..22481a81ed --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicEnumeration.json @@ -0,0 +1,740 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "DynamicEnumeration": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicEnumeration": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicEnumeration": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicEnumeration": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicEnumeration": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicEnumeration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicNever.json b/test/schemas/llm.application/3.1/DynamicNever.json new file mode 100644 index 0000000000..655e969852 --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicNever.json @@ -0,0 +1,225 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "DynamicNever": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicNever": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicNever": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicNever": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicNever": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicNever" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicSimple.json b/test/schemas/llm.application/3.1/DynamicSimple.json new file mode 100644 index 0000000000..3ee2048cc2 --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicSimple.json @@ -0,0 +1,368 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "DynamicSimple": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicSimple": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicSimple": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicSimple": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicSimple": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicTemplate.json b/test/schemas/llm.application/3.1/DynamicTemplate.json new file mode 100644 index 0000000000..7273854b3a --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicTemplate.json @@ -0,0 +1,674 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTemplate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicTemplate": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicTree.json b/test/schemas/llm.application/3.1/DynamicTree.json new file mode 100644 index 0000000000..1c8d305c5c --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicTree.json @@ -0,0 +1,1012 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "RecordstringDynamicTree": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/DynamicTree" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "RecordstringDynamicTree": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/DynamicTree" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "RecordstringDynamicTree": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/DynamicTree" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "RecordstringDynamicTree": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/DynamicTree" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/components/schemas/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "RecordstringDynamicTree": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "$ref": "#/components/schemas/DynamicTree" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicTree" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicUndefined.json b/test/schemas/llm.application/3.1/DynamicUndefined.json new file mode 100644 index 0000000000..e5a3df0750 --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicUndefined.json @@ -0,0 +1,225 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "DynamicUndefined": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicUndefined": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicUndefined": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicUndefined": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicUndefined": { + "type": "object", + "properties": {} + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/DynamicUnion.json b/test/schemas/llm.application/3.1/DynamicUnion.json new file mode 100644 index 0000000000..1a69952952 --- /dev/null +++ b/test/schemas/llm.application/3.1/DynamicUnion.json @@ -0,0 +1,587 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DynamicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "DynamicUnion": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectAlias.json b/test/schemas/llm.application/3.1/ObjectAlias.json new file mode 100644 index 0000000000..5cbaab4f40 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectAlias.json @@ -0,0 +1,4063 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + }, + "second": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectAlias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "components": { + "schemas": { + "ObjectAlias": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectAlias.IMember" + } + }, + "ObjectAlias.IMember": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "null" + }, + { + "const": 1 + }, + { + "const": 2 + }, + { + "const": "male" + }, + { + "const": "female" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectDate.json b/test/schemas/llm.application/3.1/ObjectDate.json new file mode 100644 index 0000000000..ee1b08dc0b --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectDate.json @@ -0,0 +1,4351 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDate" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "components": { + "schemas": { + "ObjectDate": { + "type": "object", + "properties": { + "classDate": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "date": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date" + } + ] + }, + "datetime": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "date-time" + } + ] + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "time" + } + ] + }, + "duration": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string", + "format": "duration" + } + ] + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectDescription.json b/test/schemas/llm.application/3.1/ObjectDescription.json new file mode 100644 index 0000000000..c67c2523c7 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectDescription.json @@ -0,0 +1,732 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectDescription": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectDescription": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectDescription": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectDescription": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectDescription": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDescription" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectDynamic.json b/test/schemas/llm.application/3.1/ObjectDynamic.json new file mode 100644 index 0000000000..02636da35c --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectDynamic.json @@ -0,0 +1,674 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectDynamic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "components": { + "schemas": { + "ObjectDynamic": { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectGeneric.json b/test/schemas/llm.application/3.1/ObjectGeneric.json new file mode 100644 index 0000000000..8939451b8c --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectGeneric.json @@ -0,0 +1,2019 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ObjectGeneric": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ], + "additionalItems": false + }, + "ObjectGeneric.ISomethingboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildbooleanboolean": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingnumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildnumbernumber": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildstringstring": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectGeneric": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ], + "additionalItems": false + }, + "ObjectGeneric.ISomethingboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildbooleanboolean": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingnumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildnumbernumber": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildstringstring": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectGeneric": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ], + "additionalItems": false + }, + "ObjectGeneric.ISomethingboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildbooleanboolean": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingnumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildnumbernumber": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildstringstring": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectGeneric": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ], + "additionalItems": false + }, + "ObjectGeneric.ISomethingboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildbooleanboolean": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingnumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildnumbernumber": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildstringstring": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectGeneric": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingboolean" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingnumber" + }, + { + "$ref": "#/components/schemas/ObjectGeneric.ISomethingstring" + } + ], + "additionalItems": false + }, + "ObjectGeneric.ISomethingboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildbooleanboolean" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildbooleanboolean": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingnumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildnumbernumber" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildnumbernumber": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ] + }, + "ObjectGeneric.ISomethingstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGeneric.IChildstringstring" + } + } + }, + "required": [ + "value", + "child", + "elements" + ] + }, + "ObjectGeneric.IChildstringstring": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGeneric" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "required": [ + "child_value", + "child_next" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value", + "child", + "elements" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectGenericAlias.json b/test/schemas/llm.application/3.1/ObjectGenericAlias.json new file mode 100644 index 0000000000..11c394994b --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectGenericAlias.json @@ -0,0 +1,316 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectGenericAlias.Alias": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectGenericAlias.Alias": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectGenericAlias.Alias": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectGenericAlias.Alias": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectGenericAlias.Alias": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericAlias.Alias" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectGenericArray.json b/test/schemas/llm.application/3.1/ObjectGenericArray.json new file mode 100644 index 0000000000..6b8b872027 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectGenericArray.json @@ -0,0 +1,869 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectGenericArray": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "ObjectGenericArray.IPagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "ObjectGenericArray.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectGenericArray": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "ObjectGenericArray.IPagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "ObjectGenericArray.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectGenericArray": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "ObjectGenericArray.IPagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "ObjectGenericArray.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectGenericArray": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "ObjectGenericArray.IPagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "ObjectGenericArray.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectGenericArray": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/ObjectGenericArray.IPagination" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericArray.IPerson" + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "ObjectGenericArray.IPagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "ObjectGenericArray.IPerson": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectGenericUnion.json b/test/schemas/llm.application/3.1/ObjectGenericUnion.json new file mode 100644 index 0000000000..7c722cbf39 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectGenericUnion.json @@ -0,0 +1,17276 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectGenericUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleEntireArticle" + } + }, + "required": [ + "value" + ] + }, + "ObjectGenericUnion.ISaleEntireArticle": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleQuestion" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview" + } + ] + }, + "ObjectGenericUnion.ISaleQuestion": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleAnswer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleArticle.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleArticle.IContent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + }, + "ObjectGenericUnion.IAttachmentFile": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ] + }, + "ObjectGenericUnion.ISaleReview": { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleAnswer" + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.ISaleReview.IContent" + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + "ObjectGenericUnion.ISaleReview.IContent": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectGenericUnion.IAttachmentFile" + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectHierarchical.json b/test/schemas/llm.application/3.1/ObjectHierarchical.json new file mode 100644 index 0000000000..c1c03d5713 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectHierarchical.json @@ -0,0 +1,8958 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.ICustomer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ], + "additionalProperties": false + }, + "member": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "enterprise": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ], + "additionalProperties": false + } + ] + }, + "account": { + "components": { + "schemas": { + "ObjectHierarchical.ICustomer": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "$ref": "#/components/schemas/ObjectHierarchical.IChannel" + }, + "member": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IMember" + } + ] + }, + "account": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] + }, + "ObjectHierarchical.IChannel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "ObjectHierarchical.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "ObjectHierarchical.IMember": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "enterprise": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IEnterprise" + } + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + }, + "authorized": { + "type": "boolean" + } + }, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "ObjectHierarchical.IAccount": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "code", + "created_at" + ] + }, + "ObjectHierarchical.IEnterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectHierarchical.ITimestamp" + } + }, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectHierarchical.IAccount" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "code", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "additionalItems": false + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectInternal.json b/test/schemas/llm.application/3.1/ObjectInternal.json new file mode 100644 index 0000000000..ee622c1376 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectInternal.json @@ -0,0 +1,368 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectInternal": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectInternal": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectInternal": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectInternal": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectInternal": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectInternal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectIntersection.json b/test/schemas/llm.application/3.1/ObjectIntersection.json new file mode 100644 index 0000000000..008139066f --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectIntersection.json @@ -0,0 +1,420 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectIntersection": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectIntersection": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectIntersection": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectIntersection": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectIntersection": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectIntersection" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectJsonTag.json b/test/schemas/llm.application/3.1/ObjectJsonTag.json new file mode 100644 index 0000000000..220c57413e --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectJsonTag.json @@ -0,0 +1,563 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectJsonTag": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectJsonTag": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectJsonTag": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectJsonTag": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectJsonTag": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectJsonTag" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectLiteralProperty.json b/test/schemas/llm.application/3.1/ObjectLiteralProperty.json new file mode 100644 index 0000000000..93f17ccefd --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectLiteralProperty.json @@ -0,0 +1,368 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectLiteralProperty.ISomething": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectLiteralProperty.ISomething": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectLiteralProperty.ISomething": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectLiteralProperty.ISomething": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectLiteralProperty.ISomething": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectLiteralProperty.ISomething" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectLiteralType.json b/test/schemas/llm.application/3.1/ObjectLiteralType.json new file mode 100644 index 0000000000..132ec02b1e --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectLiteralType.json @@ -0,0 +1,400 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectNullable.json b/test/schemas/llm.application/3.1/ObjectNullable.json new file mode 100644 index 0000000000..0df9181a59 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectNullable.json @@ -0,0 +1,3426 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "components": { + "schemas": { + "ObjectNullable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectNullable.IProduct" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectNullable.IProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + }, + "brand": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand" + } + } + }, + "similar": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + }, + "ObjectNullable.IManufacturer": { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ObjectNullable.IBrand": { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IBrand" + }, + { + "$ref": "#/components/schemas/ObjectNullable.IManufacturer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "brand": "#/components/schemas/ObjectNullable.IBrand", + "manufacturer": "#/components/schemas/ObjectNullable.IManufacturer" + } + } + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "const": "brand" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "const": "manufacturer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectOptional.json b/test/schemas/llm.application/3.1/ObjectOptional.json new file mode 100644 index 0000000000..3b449dca90 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectOptional.json @@ -0,0 +1,394 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectOptional": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectOptional": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectOptional": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectOptional": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectOptional": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectOptional" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectPartial.json b/test/schemas/llm.application/3.1/ObjectPartial.json new file mode 100644 index 0000000000..28d6129ee0 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectPartial.json @@ -0,0 +1,5217 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/PartialObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectPartialAndRequired.json b/test/schemas/llm.application/3.1/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..c12ccc3b45 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectPartialAndRequired.json @@ -0,0 +1,2959 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectPrimitive.json b/test/schemas/llm.application/3.1/ObjectPrimitive.json new file mode 100644 index 0000000000..1e62bf1e88 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectPrimitive.json @@ -0,0 +1,1884 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPrimitive.IArticle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "components": { + "schemas": { + "ObjectPrimitive.IArticle": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPrimitive.IFile" + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "ObjectPrimitive.IFile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "txt" + }, + { + "const": "md" + }, + { + "const": "html" + } + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectPropertyNullable.json b/test/schemas/llm.application/3.1/ObjectPropertyNullable.json new file mode 100644 index 0000000000..57fb932c66 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectPropertyNullable.json @@ -0,0 +1,11193 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "components": { + "schemas": { + "ObjectPropertyNullable": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerboolean" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointernumber" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerstring" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" + } + } + ], + "additionalItems": false + }, + "ObjectPropertyNullable.IPointerboolean": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointernumber": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerstring": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPropertyNullable.IMember" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectPropertyNullable.IMember": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "grade": { + "type": "number" + }, + "serial": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "activated": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "activated" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectRecursive.json b/test/schemas/llm.application/3.1/ObjectRecursive.json new file mode 100644 index 0000000000..1e01897990 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectRecursive.json @@ -0,0 +1,4206 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectRequired.json b/test/schemas/llm.application/3.1/ObjectRequired.json new file mode 100644 index 0000000000..a185dcbe3a --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectRequired.json @@ -0,0 +1,5049 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/RequiredObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectSimple.json b/test/schemas/llm.application/3.1/ObjectSimple.json new file mode 100644 index 0000000000..2e37ab889d --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectSimple.json @@ -0,0 +1,1111 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectSimple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ObjectSimple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectSimple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ObjectSimple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectSimple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ObjectSimple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectSimple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ObjectSimple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectSimple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ObjectSimple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ObjectSimple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectSimple.IBox3D" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectTuple.json b/test/schemas/llm.application/3.1/ObjectTuple.json new file mode 100644 index 0000000000..e496be50e6 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectTuple.json @@ -0,0 +1,783 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ObjectTuple": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ], + "additionalItems": false + }, + "ObjectTuple.ISection": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ] + }, + "ObjectTuple.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectTuple": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ], + "additionalItems": false + }, + "ObjectTuple.ISection": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ] + }, + "ObjectTuple.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectTuple": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ], + "additionalItems": false + }, + "ObjectTuple.ISection": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ] + }, + "ObjectTuple.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectTuple": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ], + "additionalItems": false + }, + "ObjectTuple.ISection": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ] + }, + "ObjectTuple.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectTuple": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ObjectTuple.ISection" + }, + { + "$ref": "#/components/schemas/ObjectTuple.ICitizen" + } + ], + "additionalItems": false + }, + "ObjectTuple.ISection": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ] + }, + "ObjectTuple.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "code", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUndefined.json b/test/schemas/llm.application/3.1/ObjectUndefined.json new file mode 100644 index 0000000000..46ebdd5b6d --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUndefined.json @@ -0,0 +1,1311 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + }, + "second": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUndefined" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "components": { + "schemas": { + "ObjectUndefined": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUndefined.ILecture" + } + }, + "ObjectUndefined.ILecture": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "$ref": "#/components/schemas/ObjectUndefined.IClassroom" + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ] + }, + "ObjectUndefined.IClassroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "unknown" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUnionComposite.json b/test/schemas/llm.application/3.1/ObjectUnionComposite.json new file mode 100644 index 0000000000..1024fd2d85 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUnionComposite.json @@ -0,0 +1,5589 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionComposite": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + } + }, + "ObjectUnionComposite.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionComposite.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionComposite.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionComposite.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionComposite.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionComposite.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionComposite.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionComposite.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUnionCompositePointer.json b/test/schemas/llm.application/3.1/ObjectUnionCompositePointer.json new file mode 100644 index 0000000000..a7456bfa54 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUnionCompositePointer.json @@ -0,0 +1,5980 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionCompositePointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionCompositePointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionCompositePointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionCompositePointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionCompositePointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionCompositePointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionCompositePointer.IPointedShape": { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "inner": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + } + } + }, + "required": [ + "outer", + "inner" + ] + }, + "ObjectUnionCompositePointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPointedShape" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionCompositePointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUnionDouble.json b/test/schemas/llm.application/3.1/ObjectUnionDouble.json new file mode 100644 index 0000000000..6ac7d244ff --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUnionDouble.json @@ -0,0 +1,6212 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "components": { + "schemas": { + "ObjectUnionDouble": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionDouble.Union" + } + }, + "ObjectUnionDouble.Union": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IA" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IB" + } + ] + }, + "ObjectUnionDouble.IA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IAA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IAB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IAA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + } + }, + "required": [ + "value", + "child" + ] + }, + "ObjectUnionDouble.IBB": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionDouble.IBA": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBB" + }, + { + "$ref": "#/components/schemas/ObjectUnionDouble.IBA" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUnionExplicit.json b/test/schemas/llm.application/3.1/ObjectUnionExplicit.json new file mode 100644 index 0000000000..8eee48e70d --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUnionExplicit.json @@ -0,0 +1,5897 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionExplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + } + }, + "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicit.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUnionExplicitPointer.json b/test/schemas/llm.application/3.1/ObjectUnionExplicitPointer.json new file mode 100644 index 0000000000..0b7631ca07 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUnionExplicitPointer.json @@ -0,0 +1,6327 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPointerObjectUnionExplicitPointer.Shape" + } + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionExplicitPointer.Shape": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.Shape" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionExplicitPointer.Shape": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPolyline" + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ] + }, + "ObjectUnionExplicitPointer.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + } + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { + "type": "object", + "properties": { + "centroid": { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.IPoint" + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "const": "point" + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "line" + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "triangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "const": "rectangle" + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polyline" + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "const": "polygon" + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "const": "circle" + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUnionImplicit.json b/test/schemas/llm.application/3.1/ObjectUnionImplicit.json new file mode 100644 index 0000000000..b00fbc38a0 --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUnionImplicit.json @@ -0,0 +1,69306 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "width": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "length": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "area": { + "components": { + "schemas": { + "ObjectUnionImplicit": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ILine" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ITriangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IRectangle" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolygon" + }, + { + "$ref": "#/components/schemas/ObjectUnionImplicit.ICircle" + } + ] + } + }, + "ObjectUnionImplicit.IPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "ObjectUnionImplicit.ILine": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2" + ] + }, + "ObjectUnionImplicit.ITriangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3" + ] + }, + "ObjectUnionImplicit.IRectangle": { + "type": "object", + "properties": { + "p1": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p2": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p3": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "p4": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "width": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + "ObjectUnionImplicit.IPolyline": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + } + }, + "length": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points" + ] + }, + "ObjectUnionImplicit.IPolygon": { + "type": "object", + "properties": { + "outer": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + }, + "inner": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPolyline" + } + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer" + ] + }, + "ObjectUnionImplicit.ICircle": { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "$ref": "#/components/schemas/ObjectUnionImplicit.IPoint" + }, + "area": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ObjectUnionNonPredictable.json b/test/schemas/llm.application/3.1/ObjectUnionNonPredictable.json new file mode 100644 index 0000000000..3dbec9681b --- /dev/null +++ b/test/schemas/llm.application/3.1/ObjectUnionNonPredictable.json @@ -0,0 +1,2588 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ObjectUnionNonPredictable": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" + } + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "IPointerObjectUnionNonPredictable.IUnion": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IUnion" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IUnion": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "ObjectUnionNonPredictable.IWrapperboolean": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerboolean" + } + }, + "required": [ + "value" + ] + }, + "IPointerboolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrappernumber": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointernumber" + } + }, + "required": [ + "value" + ] + }, + "IPointernumber": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + "ObjectUnionNonPredictable.IWrapperstring": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/IPointerstring" + } + }, + "required": [ + "value" + ] + }, + "IPointerstring": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperboolean" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrappernumber" + }, + { + "$ref": "#/components/schemas/ObjectUnionNonPredictable.IWrapperstring" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TemplateAtomic.json b/test/schemas/llm.application/3.1/TemplateAtomic.json new file mode 100644 index 0000000000..d37567888e --- /dev/null +++ b/test/schemas/llm.application/3.1/TemplateAtomic.json @@ -0,0 +1,1414 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "components": { + "schemas": { + "TemplateAtomic": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TemplateConstant.json b/test/schemas/llm.application/3.1/TemplateConstant.json new file mode 100644 index 0000000000..23251429f3 --- /dev/null +++ b/test/schemas/llm.application/3.1/TemplateConstant.json @@ -0,0 +1,3754 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateConstant" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "components": { + "schemas": { + "TemplateConstant": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateConstant.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateConstant.Type": { + "type": "object", + "properties": { + "prefix": { + "oneOf": [ + { + "const": "prefix_A" + }, + { + "const": "prefix_B" + }, + { + "const": "prefix_C" + } + ] + }, + "postfix": { + "oneOf": [ + { + "const": "1_postfix" + }, + { + "const": "2_postfix" + }, + { + "const": "3_postfix" + } + ] + }, + "combined": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "the_1_value_with_label_A" + }, + { + "const": "the_1_value_with_label_B" + }, + { + "const": "the_1_value_with_label_C" + }, + { + "const": "the_2_value_with_label_A" + }, + { + "const": "the_2_value_with_label_B" + }, + { + "const": "the_2_value_with_label_C" + }, + { + "const": "the_3_value_with_label_A" + }, + { + "const": "the_3_value_with_label_B" + }, + { + "const": "the_3_value_with_label_C" + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TemplateUnion.json b/test/schemas/llm.application/3.1/TemplateUnion.json new file mode 100644 index 0000000000..c216a69a15 --- /dev/null +++ b/test/schemas/llm.application/3.1/TemplateUnion.json @@ -0,0 +1,2883 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TemplateUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "components": { + "schemas": { + "TemplateUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TemplateUnion.Type": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_false_value" + }, + { + "const": "the_true_value" + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "const": "the_A_value" + }, + { + "const": "the_B_value" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ToJsonArray.json b/test/schemas/llm.application/3.1/ToJsonArray.json new file mode 100644 index 0000000000..679572f066 --- /dev/null +++ b/test/schemas/llm.application/3.1/ToJsonArray.json @@ -0,0 +1,682 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ToJsonArray": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ], + "additionalItems": false + }, + "ToJsonArray.IObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ToJsonArray": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ], + "additionalItems": false + }, + "ToJsonArray.IObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ToJsonArray": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ], + "additionalItems": false + }, + "ToJsonArray.IObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ToJsonArray": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ], + "additionalItems": false + }, + "ToJsonArray.IObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ToJsonArray": { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToJsonArray.IObject" + } + } + ], + "additionalItems": false + }, + "ToJsonArray.IObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + } + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ToJsonAtomicSimple.json b/test/schemas/llm.application/3.1/ToJsonAtomicSimple.json new file mode 100644 index 0000000000..d3bc904efd --- /dev/null +++ b/test/schemas/llm.application/3.1/ToJsonAtomicSimple.json @@ -0,0 +1,360 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ToJsonAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ToJsonAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ToJsonAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ToJsonAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ToJsonAtomicSimple": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicSimple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ToJsonAtomicUnion.json b/test/schemas/llm.application/3.1/ToJsonAtomicUnion.json new file mode 100644 index 0000000000..f736998dda --- /dev/null +++ b/test/schemas/llm.application/3.1/ToJsonAtomicUnion.json @@ -0,0 +1,740 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonAtomicUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ToJsonDouble.json b/test/schemas/llm.application/3.1/ToJsonDouble.json new file mode 100644 index 0000000000..34c3b15630 --- /dev/null +++ b/test/schemas/llm.application/3.1/ToJsonDouble.json @@ -0,0 +1,368 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "ToJsonDouble.Child": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ToJsonDouble.Child": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ToJsonDouble.Child": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ToJsonDouble.Child": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ToJsonDouble.Child": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonDouble.Child" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ToJsonNull.json b/test/schemas/llm.application/3.1/ToJsonNull.json new file mode 100644 index 0000000000..10228d870b --- /dev/null +++ b/test/schemas/llm.application/3.1/ToJsonNull.json @@ -0,0 +1,184 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + }, + "second": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "null" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "second": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "third": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": {} + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ToJsonTuple.json b/test/schemas/llm.application/3.1/ToJsonTuple.json new file mode 100644 index 0000000000..ed5a42d6a6 --- /dev/null +++ b/test/schemas/llm.application/3.1/ToJsonTuple.json @@ -0,0 +1,593 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "ToJsonTuple": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ], + "additionalItems": false + }, + "ToJsonTuple.IObject": { + "$ref": "#/components/schemas/ToJsonTuple.IHobby" + }, + "ToJsonTuple.IHobby": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ToJsonTuple": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ], + "additionalItems": false + }, + "ToJsonTuple.IObject": { + "$ref": "#/components/schemas/ToJsonTuple.IHobby" + }, + "ToJsonTuple.IHobby": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "ToJsonTuple": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ], + "additionalItems": false + }, + "ToJsonTuple.IObject": { + "$ref": "#/components/schemas/ToJsonTuple.IHobby" + }, + "ToJsonTuple.IHobby": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "ToJsonTuple": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ], + "additionalItems": false + }, + "ToJsonTuple.IObject": { + "$ref": "#/components/schemas/ToJsonTuple.IHobby" + }, + "ToJsonTuple.IHobby": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ToJsonTuple": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonTuple.IObject" + } + ], + "additionalItems": false + }, + "ToJsonTuple.IObject": { + "$ref": "#/components/schemas/ToJsonTuple.IHobby" + }, + "ToJsonTuple.IHobby": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/ToJsonUnion.json b/test/schemas/llm.application/3.1/ToJsonUnion.json new file mode 100644 index 0000000000..e3a698034b --- /dev/null +++ b/test/schemas/llm.application/3.1/ToJsonUnion.json @@ -0,0 +1,1816 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ToJsonUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ToJsonUnion": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + } + }, + "ToJsonUnion.ICitizen": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ] + }, + "ToJsonUnion.IProduct": { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.IProduct" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ToJsonUnion.ICitizen" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TupleHierarchical.json b/test/schemas/llm.application/3.1/TupleHierarchical.json new file mode 100644 index 0000000000..52d2478471 --- /dev/null +++ b/test/schemas/llm.application/3.1/TupleHierarchical.json @@ -0,0 +1,1452 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + "second": { + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TupleHierarchical": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleHierarchical" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + } + ], + "additionalItems": false + } + ], + "additionalItems": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TupleRestArray.json b/test/schemas/llm.application/3.1/TupleRestArray.json new file mode 100644 index 0000000000..010b789ff3 --- /dev/null +++ b/test/schemas/llm.application/3.1/TupleRestArray.json @@ -0,0 +1,386 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "second": { + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + }, + "second": { + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + }, + "third": { + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TupleRestArray": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TupleRestAtomic.json b/test/schemas/llm.application/3.1/TupleRestAtomic.json new file mode 100644 index 0000000000..1e8f9c2e24 --- /dev/null +++ b/test/schemas/llm.application/3.1/TupleRestAtomic.json @@ -0,0 +1,347 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + }, + "second": { + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + ] + }, + "second": { + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + ] + }, + "third": { + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TupleRestAtomic": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestAtomic" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "string" + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TupleRestObject.json b/test/schemas/llm.application/3.1/TupleRestObject.json new file mode 100644 index 0000000000..a2a9f33604 --- /dev/null +++ b/test/schemas/llm.application/3.1/TupleRestObject.json @@ -0,0 +1,474 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "second": { + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TupleRestObject": { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "$ref": "#/components/schemas/TupleRestObject.IObject" + } + }, + "TupleRestObject.IObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TupleRestObject" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "prefixItems": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "additionalItems": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagArray.json b/test/schemas/llm.application/3.1/TypeTagArray.json new file mode 100644 index 0000000000..0d6ae738fe --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagArray.json @@ -0,0 +1,1054 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagArray": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArray.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagArray.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArray" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagArrayUnion.json b/test/schemas/llm.application/3.1/TypeTagArrayUnion.json new file mode 100644 index 0000000000..630d5da296 --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagArrayUnion.json @@ -0,0 +1,1532 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "second": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagArrayUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagArrayUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagArrayUnion.Type" + } + }, + "TypeTagArrayUnion.Type": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagAtomicUnion.json b/test/schemas/llm.application/3.1/TypeTagAtomicUnion.json new file mode 100644 index 0000000000..0f9b85e2bf --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagAtomicUnion.json @@ -0,0 +1,1044 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagAtomicUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "TypeTagAtomicUnion": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagAtomicUnion.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagAtomicUnion.Type": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagCustom.json b/test/schemas/llm.application/3.1/TypeTagCustom.json new file mode 100644 index 0000000000..01426b513b --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagCustom.json @@ -0,0 +1,524 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagCustom": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagCustom": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagCustom": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagCustom": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagCustom": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagCustom" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagDefault.json b/test/schemas/llm.application/3.1/TypeTagDefault.json new file mode 100644 index 0000000000..2cc037011f --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagDefault.json @@ -0,0 +1,6387 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagDefault" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "components": { + "schemas": { + "TypeTagDefault": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagFormat.json b/test/schemas/llm.application/3.1/TypeTagFormat.json new file mode 100644 index 0000000000..8dc10f4918 --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagFormat.json @@ -0,0 +1,1694 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagFormat": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagFormat" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagLength.json b/test/schemas/llm.application/3.1/TypeTagLength.json new file mode 100644 index 0000000000..6a38eea953 --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagLength.json @@ -0,0 +1,794 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagLength": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagLength.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagLength.Type": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagLength" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagMatrix.json b/test/schemas/llm.application/3.1/TypeTagMatrix.json new file mode 100644 index 0000000000..ea14ec5f95 --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagMatrix.json @@ -0,0 +1,459 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagMatrix": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagMatrix": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagMatrix": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagMatrix": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagMatrix": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagMatrix" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagObjectUnion.json b/test/schemas/llm.application/3.1/TypeTagObjectUnion.json new file mode 100644 index 0000000000..e707aeefad --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagObjectUnion.json @@ -0,0 +1,1098 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "TypeTagObjectUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagObjectUnion.Type" + } + }, + "TypeTagObjectUnion.Type": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "TypeTagObjectUnion.Numeric": { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ] + }, + "TypeTagObjectUnion.Literal": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Numeric" + }, + { + "$ref": "#/components/schemas/TypeTagObjectUnion.Literal" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagPattern.json b/test/schemas/llm.application/3.1/TypeTagPattern.json new file mode 100644 index 0000000000..3c2da3318f --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagPattern.json @@ -0,0 +1,524 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagPattern": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagPattern" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagRange.json b/test/schemas/llm.application/3.1/TypeTagRange.json new file mode 100644 index 0000000000..e507437e93 --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagRange.json @@ -0,0 +1,1158 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagRange": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagRange.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagRange.Type": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagRange" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagTuple.json b/test/schemas/llm.application/3.1/TypeTagTuple.json new file mode 100644 index 0000000000..8eaefa6aac --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagTuple.json @@ -0,0 +1,745 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagTuple": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagTuple": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagTuple": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagTuple": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagTuple": { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagTuple" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "tuple": { + "type": "array", + "prefixItems": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ], + "additionalItems": false + } + }, + "required": [ + "tuple" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/3.1/TypeTagType.json b/test/schemas/llm.application/3.1/TypeTagType.json new file mode 100644 index 0000000000..56a82c5031 --- /dev/null +++ b/test/schemas/llm.application/3.1/TypeTagType.json @@ -0,0 +1,794 @@ +{ + "model": "3.1", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "components": { + "schemas": { + "TypeTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "components": { + "schemas": { + "TypeTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "components": { + "schemas": { + "TypeTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "components": { + "schemas": { + "TypeTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "components": { + "schemas": { + "TypeTagType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TypeTagType.Type" + } + } + }, + "required": [ + "value" + ] + }, + "TypeTagType.Type": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypeTagType" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayAny.json b/test/schemas/llm.application/chatgpt/ArrayAny.json new file mode 100644 index 0000000000..57171d7466 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayAny.json @@ -0,0 +1,791 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayHierarchical.json b/test/schemas/llm.application/chatgpt/ArrayHierarchical.json new file mode 100644 index 0000000000..46839753fe --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayHierarchical.json @@ -0,0 +1,1095 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayHierarchicalPointer.json b/test/schemas/llm.application/chatgpt/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..42ee624475 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayHierarchicalPointer.json @@ -0,0 +1,1167 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayMatrix.json b/test/schemas/llm.application/chatgpt/ArrayMatrix.json new file mode 100644 index 0000000000..68b36462b2 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayMatrix.json @@ -0,0 +1,183 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayRecursive.json b/test/schemas/llm.application/chatgpt/ArrayRecursive.json new file mode 100644 index 0000000000..90060a3c06 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayRecursive.json @@ -0,0 +1,249 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRecursive.ICategory" + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + } + }, + "output": { + "$ref": "#/$defs/ArrayRecursive.ICategory" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursive.ICategory": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ArrayRecursive.ICategory" + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionExplicit.json b/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..29a50ae385 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionExplicit.json @@ -0,0 +1,789 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionExplicit.IBucket": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionExplicit.IBucket": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + } + }, + "output": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionExplicit.IBucket": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..d8cb79d98e --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1,888 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + } + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionImplicit.json b/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..6d8b51b0e6 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayRecursiveUnionImplicit.json @@ -0,0 +1,714 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionImplicit.IBucket": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionImplicit.IBucket": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + } + }, + "output": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ArrayRecursiveUnionImplicit.IBucket": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayRepeatedNullable.json b/test/schemas/llm.application/chatgpt/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..6c85ad7414 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayRepeatedNullable.json @@ -0,0 +1,161 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRepeatedNullable" + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ArrayRepeatedNullable": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedNullable" + } + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRepeatedNullable" + }, + "second": { + "$ref": "#/$defs/ArrayRepeatedNullable" + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ArrayRepeatedNullable": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedNullable" + } + } + } + }, + "output": { + "$ref": "#/$defs/ArrayRepeatedNullable" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRepeatedNullable" + }, + "second": { + "$ref": "#/$defs/ArrayRepeatedNullable" + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedNullable" + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ArrayRepeatedNullable": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedNullable" + } + } + } + }, + "output": { + "$ref": "#/$defs/ArrayRepeatedNullable" + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayRepeatedRequired.json b/test/schemas/llm.application/chatgpt/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..1215411367 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayRepeatedRequired.json @@ -0,0 +1,204 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRepeatedRequired" + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ArrayRepeatedRequired": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedRequired" + } + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRepeatedRequired" + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ArrayRepeatedRequired": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedRequired" + } + } + } + }, + "output": { + "$ref": "#/$defs/ArrayRepeatedRequired" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedRequired" + } + }, + "ArrayRepeatedRequired": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedRequired" + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayRepeatedUnion.json b/test/schemas/llm.application/chatgpt/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..3ae11c3d1d --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayRepeatedUnion.json @@ -0,0 +1,1012 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRepeatedUnion" + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ArrayRepeatedUnion": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedUnion" + } + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ArrayRepeatedUnion" + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ArrayRepeatedUnion": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedUnion" + } + } + } + }, + "output": { + "$ref": "#/$defs/ArrayRepeatedUnion" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/$defs/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/$defs/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArraySimple.json b/test/schemas/llm.application/chatgpt/ArraySimple.json new file mode 100644 index 0000000000..5179da070f --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArraySimple.json @@ -0,0 +1,431 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ], + "additionalProperties": false + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ArrayUnion.json b/test/schemas/llm.application/chatgpt/ArrayUnion.json new file mode 100644 index 0000000000..51c06e0076 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ArrayUnion.json @@ -0,0 +1,287 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/AtomicUnion.json b/test/schemas/llm.application/chatgpt/AtomicUnion.json new file mode 100644 index 0000000000..174287bb16 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/AtomicUnion.json @@ -0,0 +1,239 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ClassGetter.json b/test/schemas/llm.application/chatgpt/ClassGetter.json new file mode 100644 index 0000000000..b39e7f524f --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ClassGetter.json @@ -0,0 +1,303 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ClassMethod.json b/test/schemas/llm.application/chatgpt/ClassMethod.json new file mode 100644 index 0000000000..a3e8b8a4ac --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ClassMethod.json @@ -0,0 +1,215 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ClassPropertyAssignment.json b/test/schemas/llm.application/chatgpt/ClassPropertyAssignment.json new file mode 100644 index 0000000000..fc1391e0ed --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ClassPropertyAssignment.json @@ -0,0 +1,359 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagArray.json b/test/schemas/llm.application/chatgpt/CommentTagArray.json new file mode 100644 index 0000000000..87f9740adf --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagArray.json @@ -0,0 +1,567 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagArrayUnion.json b/test/schemas/llm.application/chatgpt/CommentTagArrayUnion.json new file mode 100644 index 0000000000..48eda1e142 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagArrayUnion.json @@ -0,0 +1,487 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagAtomicUnion.json b/test/schemas/llm.application/chatgpt/CommentTagAtomicUnion.json new file mode 100644 index 0000000000..58b7b0883f --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagAtomicUnion.json @@ -0,0 +1,351 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagDefault.json b/test/schemas/llm.application/chatgpt/CommentTagDefault.json new file mode 100644 index 0000000000..566c560d50 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagDefault.json @@ -0,0 +1,1039 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagFormat.json b/test/schemas/llm.application/chatgpt/CommentTagFormat.json new file mode 100644 index 0000000000..1bed9d449e --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagFormat.json @@ -0,0 +1,1031 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagLength.json b/test/schemas/llm.application/chatgpt/CommentTagLength.json new file mode 100644 index 0000000000..88d090e91e --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagLength.json @@ -0,0 +1,447 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagObjectUnion.json b/test/schemas/llm.application/chatgpt/CommentTagObjectUnion.json new file mode 100644 index 0000000000..bfe2688f27 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagObjectUnion.json @@ -0,0 +1,351 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagPattern.json b/test/schemas/llm.application/chatgpt/CommentTagPattern.json new file mode 100644 index 0000000000..a0210c69b4 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagPattern.json @@ -0,0 +1,311 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagRange.json b/test/schemas/llm.application/chatgpt/CommentTagRange.json new file mode 100644 index 0000000000..7dda0ad056 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagRange.json @@ -0,0 +1,607 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/CommentTagType.json b/test/schemas/llm.application/chatgpt/CommentTagType.json new file mode 100644 index 0000000000..cd801a7bd5 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/CommentTagType.json @@ -0,0 +1,503 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ConstantAtomicAbsorbed.json b/test/schemas/llm.application/chatgpt/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..e7ac6c8cdb --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ConstantAtomicAbsorbed.json @@ -0,0 +1,231 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ConstantAtomicTagged.json b/test/schemas/llm.application/chatgpt/ConstantAtomicTagged.json new file mode 100644 index 0000000000..f829906825 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ConstantAtomicTagged.json @@ -0,0 +1,335 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ConstantAtomicUnion.json b/test/schemas/llm.application/chatgpt/ConstantAtomicUnion.json new file mode 100644 index 0000000000..1d9a360ce9 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ConstantAtomicUnion.json @@ -0,0 +1,423 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ConstantConstEnumeration.json b/test/schemas/llm.application/chatgpt/ConstantConstEnumeration.json new file mode 100644 index 0000000000..9bd8d3fbb0 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ConstantConstEnumeration.json @@ -0,0 +1,263 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ConstantEnumeration.json b/test/schemas/llm.application/chatgpt/ConstantEnumeration.json new file mode 100644 index 0000000000..9bd8d3fbb0 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ConstantEnumeration.json @@ -0,0 +1,263 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicArray.json b/test/schemas/llm.application/chatgpt/DynamicArray.json new file mode 100644 index 0000000000..193ed38ceb --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicArray.json @@ -0,0 +1,247 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicComposite.json b/test/schemas/llm.application/chatgpt/DynamicComposite.json new file mode 100644 index 0000000000..29bef0aa49 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicComposite.json @@ -0,0 +1,311 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicConstant.json b/test/schemas/llm.application/chatgpt/DynamicConstant.json new file mode 100644 index 0000000000..eb556b9106 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicConstant.json @@ -0,0 +1,351 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicEnumeration.json b/test/schemas/llm.application/chatgpt/DynamicEnumeration.json new file mode 100644 index 0000000000..01304c80be --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicEnumeration.json @@ -0,0 +1,543 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicNever.json b/test/schemas/llm.application/chatgpt/DynamicNever.json new file mode 100644 index 0000000000..de8b280961 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicNever.json @@ -0,0 +1,135 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicSimple.json b/test/schemas/llm.application/chatgpt/DynamicSimple.json new file mode 100644 index 0000000000..803e7ac07d --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicSimple.json @@ -0,0 +1,223 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicTemplate.json b/test/schemas/llm.application/chatgpt/DynamicTemplate.json new file mode 100644 index 0000000000..1e931ed9a7 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicTemplate.json @@ -0,0 +1,231 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicTree.json b/test/schemas/llm.application/chatgpt/DynamicTree.json new file mode 100644 index 0000000000..7edf992b7d --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicTree.json @@ -0,0 +1,204 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/DynamicTree" + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/$defs/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + }, + "RecordstringDynamicTree": { + "description": "Construct a type with a set of properties K of type T", + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "$ref": "#/$defs/DynamicTree" + } + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/DynamicTree" + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/DynamicTree" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/$defs/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + }, + "RecordstringDynamicTree": { + "description": "Construct a type with a set of properties K of type T", + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "$ref": "#/$defs/DynamicTree" + } + } + } + }, + "output": { + "$ref": "#/$defs/DynamicTree" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/DynamicTree" + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/DynamicTree" + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/DynamicTree" + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "DynamicTree": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "$ref": "#/$defs/RecordstringDynamicTree" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + }, + "RecordstringDynamicTree": { + "description": "Construct a type with a set of properties K of type T", + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "$ref": "#/$defs/DynamicTree" + } + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/DynamicTree" + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicUndefined.json b/test/schemas/llm.application/chatgpt/DynamicUndefined.json new file mode 100644 index 0000000000..de8b280961 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicUndefined.json @@ -0,0 +1,135 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/DynamicUnion.json b/test/schemas/llm.application/chatgpt/DynamicUnion.json new file mode 100644 index 0000000000..aef433ac4d --- /dev/null +++ b/test/schemas/llm.application/chatgpt/DynamicUnion.json @@ -0,0 +1,207 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectAlias.json b/test/schemas/llm.application/chatgpt/ObjectAlias.json new file mode 100644 index 0000000000..6646d04cf8 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectAlias.json @@ -0,0 +1,679 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectDate.json b/test/schemas/llm.application/chatgpt/ObjectDate.json new file mode 100644 index 0000000000..6d08517368 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectDate.json @@ -0,0 +1,631 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectDescription.json b/test/schemas/llm.application/chatgpt/ObjectDescription.json new file mode 100644 index 0000000000..68cd22595b --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectDescription.json @@ -0,0 +1,431 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectDynamic.json b/test/schemas/llm.application/chatgpt/ObjectDynamic.json new file mode 100644 index 0000000000..1e931ed9a7 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectDynamic.json @@ -0,0 +1,231 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectGenericAlias.json b/test/schemas/llm.application/chatgpt/ObjectGenericAlias.json new file mode 100644 index 0000000000..aae47efba9 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectGenericAlias.json @@ -0,0 +1,183 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectGenericArray.json b/test/schemas/llm.application/chatgpt/ObjectGenericArray.json new file mode 100644 index 0000000000..23dd8ca897 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectGenericArray.json @@ -0,0 +1,511 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ], + "additionalProperties": false + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "additionalProperties": false + } + } + }, + "required": [ + "pagination", + "data" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectGenericUnion.json b/test/schemas/llm.application/chatgpt/ObjectGenericUnion.json new file mode 100644 index 0000000000..f85d371438 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectGenericUnion.json @@ -0,0 +1,2943 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectInternal.json b/test/schemas/llm.application/chatgpt/ObjectInternal.json new file mode 100644 index 0000000000..980ffda0f3 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectInternal.json @@ -0,0 +1,215 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectIntersection.json b/test/schemas/llm.application/chatgpt/ObjectIntersection.json new file mode 100644 index 0000000000..5e60e72b71 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectIntersection.json @@ -0,0 +1,247 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectJsonTag.json b/test/schemas/llm.application/chatgpt/ObjectJsonTag.json new file mode 100644 index 0000000000..1024899138 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectJsonTag.json @@ -0,0 +1,335 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectLiteralProperty.json b/test/schemas/llm.application/chatgpt/ObjectLiteralProperty.json new file mode 100644 index 0000000000..a31c8d45ef --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectLiteralProperty.json @@ -0,0 +1,215 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectLiteralType.json b/test/schemas/llm.application/chatgpt/ObjectLiteralType.json new file mode 100644 index 0000000000..96016902e6 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectLiteralType.json @@ -0,0 +1,247 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectNullable.json b/test/schemas/llm.application/chatgpt/ObjectNullable.json new file mode 100644 index 0000000000..7a35c91265 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectNullable.json @@ -0,0 +1,1023 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectOptional.json b/test/schemas/llm.application/chatgpt/ObjectOptional.json new file mode 100644 index 0000000000..ef6b5b16bd --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectOptional.json @@ -0,0 +1,279 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectPartial.json b/test/schemas/llm.application/chatgpt/ObjectPartial.json new file mode 100644 index 0000000000..6736d6c646 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectPartial.json @@ -0,0 +1,519 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + } + }, + "output": { + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectPartialAndRequired.json b/test/schemas/llm.application/chatgpt/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..a60758c395 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectPartialAndRequired.json @@ -0,0 +1,231 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "string", + "number", + "boolean", + "object", + "array" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ObjectPartialAndRequired" + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "string", + "number", + "boolean", + "object", + "array" + ], + "additionalProperties": false + } + } + }, + "output": { + "$ref": "#/$defs/ObjectPartialAndRequired" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "string", + "number", + "boolean", + "object", + "array" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectPartialAndRequired" + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectPrimitive.json b/test/schemas/llm.application/chatgpt/ObjectPrimitive.json new file mode 100644 index 0000000000..2d23b03aab --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectPrimitive.json @@ -0,0 +1,639 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ], + "additionalProperties": false + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectRecursive.json b/test/schemas/llm.application/chatgpt/ObjectRecursive.json new file mode 100644 index 0000000000..fa4c9b6870 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectRecursive.json @@ -0,0 +1,273 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + } + }, + "output": { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRecursive.IDepartment" + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectRequired.json b/test/schemas/llm.application/chatgpt/ObjectRequired.json new file mode 100644 index 0000000000..51dd6f44c5 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectRequired.json @@ -0,0 +1,519 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false, + "$defs": { + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + } + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false, + "$defs": { + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + } + }, + "output": { + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false, + "$defs": { + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + } + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "anyOf": [ + { + "type": "null" + }, + { + "$ref": "#/$defs/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectSimple.json b/test/schemas/llm.application/chatgpt/ObjectSimple.json new file mode 100644 index 0000000000..e8f832df66 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectSimple.json @@ -0,0 +1,823 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUndefined.json b/test/schemas/llm.application/chatgpt/ObjectUndefined.json new file mode 100644 index 0000000000..cf4dc51efd --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUndefined.json @@ -0,0 +1,479 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUnionComposite.json b/test/schemas/llm.application/chatgpt/ObjectUnionComposite.json new file mode 100644 index 0000000000..b1d3461495 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUnionComposite.json @@ -0,0 +1,3055 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUnionCompositePointer.json b/test/schemas/llm.application/chatgpt/ObjectUnionCompositePointer.json new file mode 100644 index 0000000000..58a3060651 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUnionCompositePointer.json @@ -0,0 +1,3199 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUnionDouble.json b/test/schemas/llm.application/chatgpt/ObjectUnionDouble.json new file mode 100644 index 0000000000..d3008beb3f --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUnionDouble.json @@ -0,0 +1,1255 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUnionExplicit.json b/test/schemas/llm.application/chatgpt/ObjectUnionExplicit.json new file mode 100644 index 0000000000..7101db640c --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUnionExplicit.json @@ -0,0 +1,3087 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUnionExplicitPointer.json b/test/schemas/llm.application/chatgpt/ObjectUnionExplicitPointer.json new file mode 100644 index 0000000000..9c96097120 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUnionExplicitPointer.json @@ -0,0 +1,3231 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUnionImplicit.json b/test/schemas/llm.application/chatgpt/ObjectUnionImplicit.json new file mode 100644 index 0000000000..1cb0dbc8a0 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUnionImplicit.json @@ -0,0 +1,5071 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ObjectUnionNonPredictable.json b/test/schemas/llm.application/chatgpt/ObjectUnionNonPredictable.json new file mode 100644 index 0000000000..136f64a7e2 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ObjectUnionNonPredictable.json @@ -0,0 +1,863 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TemplateAtomic.json b/test/schemas/llm.application/chatgpt/TemplateAtomic.json new file mode 100644 index 0000000000..f95b2bc6d9 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TemplateAtomic.json @@ -0,0 +1,495 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TemplateConstant.json b/test/schemas/llm.application/chatgpt/TemplateConstant.json new file mode 100644 index 0000000000..4c66f3ac18 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TemplateConstant.json @@ -0,0 +1,511 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TemplateUnion.json b/test/schemas/llm.application/chatgpt/TemplateUnion.json new file mode 100644 index 0000000000..c215b2dec8 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TemplateUnion.json @@ -0,0 +1,647 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ToJsonAtomicUnion.json b/test/schemas/llm.application/chatgpt/ToJsonAtomicUnion.json new file mode 100644 index 0000000000..174287bb16 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ToJsonAtomicUnion.json @@ -0,0 +1,239 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ToJsonDouble.json b/test/schemas/llm.application/chatgpt/ToJsonDouble.json new file mode 100644 index 0000000000..2fa8c63f0b --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ToJsonDouble.json @@ -0,0 +1,215 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ToJsonNull.json b/test/schemas/llm.application/chatgpt/ToJsonNull.json new file mode 100644 index 0000000000..4b0241f6ae --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ToJsonNull.json @@ -0,0 +1,111 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "null" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "null" + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/ToJsonUnion.json b/test/schemas/llm.application/chatgpt/ToJsonUnion.json new file mode 100644 index 0000000000..ef452b2587 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/ToJsonUnion.json @@ -0,0 +1,695 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagArray.json b/test/schemas/llm.application/chatgpt/TypeTagArray.json new file mode 100644 index 0000000000..9ff5014637 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagArray.json @@ -0,0 +1,599 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagArrayUnion.json b/test/schemas/llm.application/chatgpt/TypeTagArrayUnion.json new file mode 100644 index 0000000000..3904b58cbf --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagArrayUnion.json @@ -0,0 +1,527 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagAtomicUnion.json b/test/schemas/llm.application/chatgpt/TypeTagAtomicUnion.json new file mode 100644 index 0000000000..58b7b0883f --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagAtomicUnion.json @@ -0,0 +1,351 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagCustom.json b/test/schemas/llm.application/chatgpt/TypeTagCustom.json new file mode 100644 index 0000000000..dec78fb473 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagCustom.json @@ -0,0 +1,311 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagDefault.json b/test/schemas/llm.application/chatgpt/TypeTagDefault.json new file mode 100644 index 0000000000..24426306ea --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagDefault.json @@ -0,0 +1,911 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagFormat.json b/test/schemas/llm.application/chatgpt/TypeTagFormat.json new file mode 100644 index 0000000000..1bed9d449e --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagFormat.json @@ -0,0 +1,1031 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagLength.json b/test/schemas/llm.application/chatgpt/TypeTagLength.json new file mode 100644 index 0000000000..88d090e91e --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagLength.json @@ -0,0 +1,447 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagMatrix.json b/test/schemas/llm.application/chatgpt/TypeTagMatrix.json new file mode 100644 index 0000000000..ce5dea3aa8 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagMatrix.json @@ -0,0 +1,255 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagObjectUnion.json b/test/schemas/llm.application/chatgpt/TypeTagObjectUnion.json new file mode 100644 index 0000000000..bfe2688f27 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagObjectUnion.json @@ -0,0 +1,351 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagPattern.json b/test/schemas/llm.application/chatgpt/TypeTagPattern.json new file mode 100644 index 0000000000..d299f3916f --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagPattern.json @@ -0,0 +1,311 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagRange.json b/test/schemas/llm.application/chatgpt/TypeTagRange.json new file mode 100644 index 0000000000..7dda0ad056 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagRange.json @@ -0,0 +1,607 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/chatgpt/TypeTagType.json b/test/schemas/llm.application/chatgpt/TypeTagType.json new file mode 100644 index 0000000000..67f8913df9 --- /dev/null +++ b/test/schemas/llm.application/chatgpt/TypeTagType.json @@ -0,0 +1,471 @@ +{ + "model": "chatgpt", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "first" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second" + ], + "additionalProperties": false + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "second": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "third": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "first", + "second", + "third" + ], + "additionalProperties": false + }, + "output": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "strict": true + } + ], + "options": { + "separate": null, + "reference": false, + "constraint": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ArrayAny.json b/test/schemas/llm.application/gemini/ArrayAny.json new file mode 100644 index 0000000000..86c8eda738 --- /dev/null +++ b/test/schemas/llm.application/gemini/ArrayAny.json @@ -0,0 +1,468 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + }, + "second": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ArrayHierarchical.json b/test/schemas/llm.application/gemini/ArrayHierarchical.json new file mode 100644 index 0000000000..9e7052053d --- /dev/null +++ b/test/schemas/llm.application/gemini/ArrayHierarchical.json @@ -0,0 +1,1012 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ArrayHierarchicalPointer.json b/test/schemas/llm.application/gemini/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..a8a52800b9 --- /dev/null +++ b/test/schemas/llm.application/gemini/ArrayHierarchicalPointer.json @@ -0,0 +1,1076 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ArrayMatrix.json b/test/schemas/llm.application/gemini/ArrayMatrix.json new file mode 100644 index 0000000000..f29d2486ee --- /dev/null +++ b/test/schemas/llm.application/gemini/ArrayMatrix.json @@ -0,0 +1,148 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "second": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ArrayRecursive.json b/test/schemas/llm.application/gemini/ArrayRecursive.json new file mode 100644 index 0000000000..b3336139dd --- /dev/null +++ b/test/schemas/llm.application/gemini/ArrayRecursive.json @@ -0,0 +1,1316 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "second": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ArraySimple.json b/test/schemas/llm.application/gemini/ArraySimple.json new file mode 100644 index 0000000000..c4d458dd1b --- /dev/null +++ b/test/schemas/llm.application/gemini/ArraySimple.json @@ -0,0 +1,380 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + } + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + } + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "nullable": true + }, + "second": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "nullable": true + }, + "third": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ClassGetter.json b/test/schemas/llm.application/gemini/ClassGetter.json new file mode 100644 index 0000000000..b533f465c6 --- /dev/null +++ b/test/schemas/llm.application/gemini/ClassGetter.json @@ -0,0 +1,212 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ClassMethod.json b/test/schemas/llm.application/gemini/ClassMethod.json new file mode 100644 index 0000000000..33bd17b4f5 --- /dev/null +++ b/test/schemas/llm.application/gemini/ClassMethod.json @@ -0,0 +1,172 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + }, + "second": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ClassPropertyAssignment.json b/test/schemas/llm.application/gemini/ClassPropertyAssignment.json new file mode 100644 index 0000000000..7129e8946d --- /dev/null +++ b/test/schemas/llm.application/gemini/ClassPropertyAssignment.json @@ -0,0 +1,316 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/CommentTagArray.json b/test/schemas/llm.application/gemini/CommentTagArray.json new file mode 100644 index 0000000000..e3c9448e22 --- /dev/null +++ b/test/schemas/llm.application/gemini/CommentTagArray.json @@ -0,0 +1,516 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/CommentTagFormat.json b/test/schemas/llm.application/gemini/CommentTagFormat.json new file mode 100644 index 0000000000..c38d4f75f1 --- /dev/null +++ b/test/schemas/llm.application/gemini/CommentTagFormat.json @@ -0,0 +1,988 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/CommentTagLength.json b/test/schemas/llm.application/gemini/CommentTagLength.json new file mode 100644 index 0000000000..013c8cd1bf --- /dev/null +++ b/test/schemas/llm.application/gemini/CommentTagLength.json @@ -0,0 +1,396 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/CommentTagPattern.json b/test/schemas/llm.application/gemini/CommentTagPattern.json new file mode 100644 index 0000000000..57fd3adb7b --- /dev/null +++ b/test/schemas/llm.application/gemini/CommentTagPattern.json @@ -0,0 +1,268 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/CommentTagRange.json b/test/schemas/llm.application/gemini/CommentTagRange.json new file mode 100644 index 0000000000..53bff289c0 --- /dev/null +++ b/test/schemas/llm.application/gemini/CommentTagRange.json @@ -0,0 +1,556 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/CommentTagType.json b/test/schemas/llm.application/gemini/CommentTagType.json new file mode 100644 index 0000000000..40e6d4c676 --- /dev/null +++ b/test/schemas/llm.application/gemini/CommentTagType.json @@ -0,0 +1,436 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ConstantAtomicAbsorbed.json b/test/schemas/llm.application/gemini/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..11824ee44a --- /dev/null +++ b/test/schemas/llm.application/gemini/ConstantAtomicAbsorbed.json @@ -0,0 +1,188 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/DynamicArray.json b/test/schemas/llm.application/gemini/DynamicArray.json new file mode 100644 index 0000000000..a93c7bae85 --- /dev/null +++ b/test/schemas/llm.application/gemini/DynamicArray.json @@ -0,0 +1,148 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/DynamicConstant.json b/test/schemas/llm.application/gemini/DynamicConstant.json new file mode 100644 index 0000000000..4ffb655b82 --- /dev/null +++ b/test/schemas/llm.application/gemini/DynamicConstant.json @@ -0,0 +1,300 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/DynamicEnumeration.json b/test/schemas/llm.application/gemini/DynamicEnumeration.json new file mode 100644 index 0000000000..3b8f71a4a7 --- /dev/null +++ b/test/schemas/llm.application/gemini/DynamicEnumeration.json @@ -0,0 +1,396 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/DynamicNever.json b/test/schemas/llm.application/gemini/DynamicNever.json new file mode 100644 index 0000000000..0a933d319e --- /dev/null +++ b/test/schemas/llm.application/gemini/DynamicNever.json @@ -0,0 +1,84 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {} + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {} + }, + "second": { + "type": "object", + "properties": {}, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": {} + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "nullable": true + }, + "second": { + "type": "object", + "properties": {}, + "nullable": true + }, + "third": { + "type": "object", + "properties": {}, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": {}, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/DynamicSimple.json b/test/schemas/llm.application/gemini/DynamicSimple.json new file mode 100644 index 0000000000..a93c7bae85 --- /dev/null +++ b/test/schemas/llm.application/gemini/DynamicSimple.json @@ -0,0 +1,148 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/DynamicTree.json b/test/schemas/llm.application/gemini/DynamicTree.json new file mode 100644 index 0000000000..e28fe1c8b5 --- /dev/null +++ b/test/schemas/llm.application/gemini/DynamicTree.json @@ -0,0 +1,220 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/DynamicUndefined.json b/test/schemas/llm.application/gemini/DynamicUndefined.json new file mode 100644 index 0000000000..0a933d319e --- /dev/null +++ b/test/schemas/llm.application/gemini/DynamicUndefined.json @@ -0,0 +1,84 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {} + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {} + }, + "second": { + "type": "object", + "properties": {}, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": {} + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": {}, + "nullable": true + }, + "second": { + "type": "object", + "properties": {}, + "nullable": true + }, + "third": { + "type": "object", + "properties": {}, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": {}, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectDate.json b/test/schemas/llm.application/gemini/ObjectDate.json new file mode 100644 index 0000000000..1ef0b7aa43 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectDate.json @@ -0,0 +1,340 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + }, + "second": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectDescription.json b/test/schemas/llm.application/gemini/ObjectDescription.json new file mode 100644 index 0000000000..258c287e4d --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectDescription.json @@ -0,0 +1,335 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "description": "This is the title of object type\n\nAn interface designed to test JSON schema's object description." + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "description": "This is the title of object type\n\nAn interface designed to test JSON schema's object description." + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "description": "This is the title of object type\n\nAn interface designed to test JSON schema's object description." + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectGenericAlias.json b/test/schemas/llm.application/gemini/ObjectGenericAlias.json new file mode 100644 index 0000000000..99b7b7e148 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectGenericAlias.json @@ -0,0 +1,140 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectGenericArray.json b/test/schemas/llm.application/gemini/ObjectGenericArray.json new file mode 100644 index 0000000000..0d922ca477 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectGenericArray.json @@ -0,0 +1,452 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "second": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectInternal.json b/test/schemas/llm.application/gemini/ObjectInternal.json new file mode 100644 index 0000000000..40f50766d7 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectInternal.json @@ -0,0 +1,172 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectIntersection.json b/test/schemas/llm.application/gemini/ObjectIntersection.json new file mode 100644 index 0000000000..3b45a9c349 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectIntersection.json @@ -0,0 +1,204 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + }, + "second": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectJsonTag.json b/test/schemas/llm.application/gemini/ObjectJsonTag.json new file mode 100644 index 0000000000..6803167edc --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectJsonTag.json @@ -0,0 +1,268 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + }, + "second": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectLiteralProperty.json b/test/schemas/llm.application/gemini/ObjectLiteralProperty.json new file mode 100644 index 0000000000..b6ad0504c3 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectLiteralProperty.json @@ -0,0 +1,172 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + }, + "second": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectLiteralType.json b/test/schemas/llm.application/gemini/ObjectLiteralType.json new file mode 100644 index 0000000000..f517af250d --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectLiteralType.json @@ -0,0 +1,204 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectOptional.json b/test/schemas/llm.application/gemini/ObjectOptional.json new file mode 100644 index 0000000000..505505ad4c --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectOptional.json @@ -0,0 +1,188 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectPartial.json b/test/schemas/llm.application/gemini/ObjectPartial.json new file mode 100644 index 0000000000..7d15f2c0d0 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectPartial.json @@ -0,0 +1,1135 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional" + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional" + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectPartialAndRequired.json b/test/schemas/llm.application/gemini/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..39223a48ea --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectPartialAndRequired.json @@ -0,0 +1,868 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + }, + "second": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectPrimitive.json b/test/schemas/llm.application/gemini/ObjectPrimitive.json new file mode 100644 index 0000000000..872ab5acb4 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectPrimitive.json @@ -0,0 +1,588 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectRecursive.json b/test/schemas/llm.application/gemini/ObjectRecursive.json new file mode 100644 index 0000000000..101c577446 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectRecursive.json @@ -0,0 +1,1380 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "second": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectRequired.json b/test/schemas/llm.application/gemini/ObjectRequired.json new file mode 100644 index 0000000000..ad0ca9d2e4 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectRequired.json @@ -0,0 +1,967 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required" + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required" + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ObjectSimple.json b/test/schemas/llm.application/gemini/ObjectSimple.json new file mode 100644 index 0000000000..15afa318e9 --- /dev/null +++ b/test/schemas/llm.application/gemini/ObjectSimple.json @@ -0,0 +1,748 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "second": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TemplateAtomic.json b/test/schemas/llm.application/gemini/TemplateAtomic.json new file mode 100644 index 0000000000..3083f1405d --- /dev/null +++ b/test/schemas/llm.application/gemini/TemplateAtomic.json @@ -0,0 +1,452 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + }, + "second": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TemplateConstant.json b/test/schemas/llm.application/gemini/TemplateConstant.json new file mode 100644 index 0000000000..8e403df387 --- /dev/null +++ b/test/schemas/llm.application/gemini/TemplateConstant.json @@ -0,0 +1,460 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ToJsonDouble.json b/test/schemas/llm.application/gemini/ToJsonDouble.json new file mode 100644 index 0000000000..18fe16c928 --- /dev/null +++ b/test/schemas/llm.application/gemini/ToJsonDouble.json @@ -0,0 +1,172 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/ToJsonNull.json b/test/schemas/llm.application/gemini/ToJsonNull.json new file mode 100644 index 0000000000..7bd439e7cf --- /dev/null +++ b/test/schemas/llm.application/gemini/ToJsonNull.json @@ -0,0 +1,71 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + }, + "second": { + "type": "null" + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "null" + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "null" + }, + "second": { + "type": "null" + }, + "third": { + "type": "null" + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "null" + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagArray.json b/test/schemas/llm.application/gemini/TypeTagArray.json new file mode 100644 index 0000000000..c02dfcdca6 --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagArray.json @@ -0,0 +1,548 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagCustom.json b/test/schemas/llm.application/gemini/TypeTagCustom.json new file mode 100644 index 0000000000..ccb75d02c8 --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagCustom.json @@ -0,0 +1,268 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagFormat.json b/test/schemas/llm.application/gemini/TypeTagFormat.json new file mode 100644 index 0000000000..c38d4f75f1 --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagFormat.json @@ -0,0 +1,988 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagLength.json b/test/schemas/llm.application/gemini/TypeTagLength.json new file mode 100644 index 0000000000..013c8cd1bf --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagLength.json @@ -0,0 +1,396 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagMatrix.json b/test/schemas/llm.application/gemini/TypeTagMatrix.json new file mode 100644 index 0000000000..99994b8180 --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagMatrix.json @@ -0,0 +1,212 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ] + }, + "second": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagPattern.json b/test/schemas/llm.application/gemini/TypeTagPattern.json new file mode 100644 index 0000000000..2dfaf7d1cc --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagPattern.json @@ -0,0 +1,268 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagRange.json b/test/schemas/llm.application/gemini/TypeTagRange.json new file mode 100644 index 0000000000..53bff289c0 --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagRange.json @@ -0,0 +1,556 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm.application/gemini/TypeTagType.json b/test/schemas/llm.application/gemini/TypeTagType.json new file mode 100644 index 0000000000..174829c53a --- /dev/null +++ b/test/schemas/llm.application/gemini/TypeTagType.json @@ -0,0 +1,420 @@ +{ + "model": "gemini", + "functions": [ + { + "name": "insert", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] + } + }, + "required": [ + "first" + ] + }, + "strict": true + }, + { + "name": "reduce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] + }, + "strict": true + }, + { + "name": "coalesce", + "parameters": { + "type": "object", + "properties": { + "first": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "second": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "third": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + } + }, + "required": [ + "first", + "second" + ] + }, + "output": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ], + "nullable": true + }, + "strict": true + } + ], + "options": { + "separate": null, + "recursive": 3 + } +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/ArrayAny.json b/test/schemas/llm.schema/3.0/ArrayAny.json similarity index 100% rename from test/schemas/llm/3.0/ArrayAny.json rename to test/schemas/llm.schema/3.0/ArrayAny.json diff --git a/test/schemas/llm/3.0/ArrayAtomicAlias.json b/test/schemas/llm.schema/3.0/ArrayAtomicAlias.json similarity index 100% rename from test/schemas/llm/3.0/ArrayAtomicAlias.json rename to test/schemas/llm.schema/3.0/ArrayAtomicAlias.json diff --git a/test/schemas/llm/3.0/ArrayAtomicSimple.json b/test/schemas/llm.schema/3.0/ArrayAtomicSimple.json similarity index 100% rename from test/schemas/llm/3.0/ArrayAtomicSimple.json rename to test/schemas/llm.schema/3.0/ArrayAtomicSimple.json diff --git a/test/schemas/llm/3.0/ArrayHierarchical.json b/test/schemas/llm.schema/3.0/ArrayHierarchical.json similarity index 100% rename from test/schemas/llm/3.0/ArrayHierarchical.json rename to test/schemas/llm.schema/3.0/ArrayHierarchical.json diff --git a/test/schemas/llm/3.0/ArrayHierarchicalPointer.json b/test/schemas/llm.schema/3.0/ArrayHierarchicalPointer.json similarity index 100% rename from test/schemas/llm/3.0/ArrayHierarchicalPointer.json rename to test/schemas/llm.schema/3.0/ArrayHierarchicalPointer.json diff --git a/test/schemas/llm/3.0/ArrayMatrix.json b/test/schemas/llm.schema/3.0/ArrayMatrix.json similarity index 100% rename from test/schemas/llm/3.0/ArrayMatrix.json rename to test/schemas/llm.schema/3.0/ArrayMatrix.json diff --git a/test/schemas/llm.schema/3.0/ArrayRecursive.json b/test/schemas/llm.schema/3.0/ArrayRecursive.json new file mode 100644 index 0000000000..878fb3cb3e --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRecursive.json @@ -0,0 +1,166 @@ +{ + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ArrayRecursiveUnionExplicit.json b/test/schemas/llm.schema/3.0/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..d94a6bfb22 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRecursiveUnionExplicit.json @@ -0,0 +1,1806 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/llm.schema/3.0/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..fa04076360 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1,1905 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "type": "string", + "enum": [ + "directory" + ] + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "jpg" + ] + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "txt" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "zip" + ] + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "extension": { + "type": "string", + "enum": [ + "lnk" + ] + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ArrayRecursiveUnionImplicit.json b/test/schemas/llm.schema/3.0/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..34ed201016 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRecursiveUnionImplicit.json @@ -0,0 +1,3154 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "type": "string", + "enum": [ + "read", + "write" + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ArrayRepeatedNullable.json b/test/schemas/llm.schema/3.0/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..463e614133 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRepeatedNullable.json @@ -0,0 +1,66 @@ +{ + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": {}, + "maxItems": 0, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] + }, + "nullable": true + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ArrayRepeatedRequired.json b/test/schemas/llm.schema/3.0/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..3d6810bfb3 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRepeatedRequired.json @@ -0,0 +1,54 @@ +{ + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ArrayRepeatedUnion.json b/test/schemas/llm.schema/3.0/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..db3fec1e55 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRepeatedUnion.json @@ -0,0 +1,458 @@ +{ + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ArrayRepeatedUnionWithTuple.json b/test/schemas/llm.schema/3.0/ArrayRepeatedUnionWithTuple.json new file mode 100644 index 0000000000..f1f5a83f6b --- /dev/null +++ b/test/schemas/llm.schema/3.0/ArrayRepeatedUnionWithTuple.json @@ -0,0 +1,1014 @@ +{ + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/ArraySimple.json b/test/schemas/llm.schema/3.0/ArraySimple.json similarity index 100% rename from test/schemas/llm/3.0/ArraySimple.json rename to test/schemas/llm.schema/3.0/ArraySimple.json diff --git a/test/schemas/llm/3.0/ArrayUnion.json b/test/schemas/llm.schema/3.0/ArrayUnion.json similarity index 100% rename from test/schemas/llm/3.0/ArrayUnion.json rename to test/schemas/llm.schema/3.0/ArrayUnion.json diff --git a/test/schemas/llm/3.0/AtomicAlias.json b/test/schemas/llm.schema/3.0/AtomicAlias.json similarity index 100% rename from test/schemas/llm/3.0/AtomicAlias.json rename to test/schemas/llm.schema/3.0/AtomicAlias.json diff --git a/test/schemas/llm/3.0/AtomicClass.json b/test/schemas/llm.schema/3.0/AtomicClass.json similarity index 100% rename from test/schemas/llm/3.0/AtomicClass.json rename to test/schemas/llm.schema/3.0/AtomicClass.json diff --git a/test/schemas/llm/3.0/AtomicIntersection.json b/test/schemas/llm.schema/3.0/AtomicIntersection.json similarity index 100% rename from test/schemas/llm/3.0/AtomicIntersection.json rename to test/schemas/llm.schema/3.0/AtomicIntersection.json diff --git a/test/schemas/llm/3.0/AtomicSimple.json b/test/schemas/llm.schema/3.0/AtomicSimple.json similarity index 100% rename from test/schemas/llm/3.0/AtomicSimple.json rename to test/schemas/llm.schema/3.0/AtomicSimple.json diff --git a/test/schemas/llm/3.0/AtomicUnion.json b/test/schemas/llm.schema/3.0/AtomicUnion.json similarity index 100% rename from test/schemas/llm/3.0/AtomicUnion.json rename to test/schemas/llm.schema/3.0/AtomicUnion.json diff --git a/test/schemas/llm/3.0/ClassGetter.json b/test/schemas/llm.schema/3.0/ClassGetter.json similarity index 100% rename from test/schemas/llm/3.0/ClassGetter.json rename to test/schemas/llm.schema/3.0/ClassGetter.json diff --git a/test/schemas/llm/3.0/ClassMethod.json b/test/schemas/llm.schema/3.0/ClassMethod.json similarity index 100% rename from test/schemas/llm/3.0/ClassMethod.json rename to test/schemas/llm.schema/3.0/ClassMethod.json diff --git a/test/schemas/llm/3.0/ClassPropertyAssignment.json b/test/schemas/llm.schema/3.0/ClassPropertyAssignment.json similarity index 100% rename from test/schemas/llm/3.0/ClassPropertyAssignment.json rename to test/schemas/llm.schema/3.0/ClassPropertyAssignment.json diff --git a/test/schemas/llm/3.0/CommentTagArray.json b/test/schemas/llm.schema/3.0/CommentTagArray.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagArray.json rename to test/schemas/llm.schema/3.0/CommentTagArray.json diff --git a/test/schemas/llm/3.0/CommentTagArrayUnion.json b/test/schemas/llm.schema/3.0/CommentTagArrayUnion.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagArrayUnion.json rename to test/schemas/llm.schema/3.0/CommentTagArrayUnion.json diff --git a/test/schemas/llm/3.0/CommentTagAtomicUnion.json b/test/schemas/llm.schema/3.0/CommentTagAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagAtomicUnion.json rename to test/schemas/llm.schema/3.0/CommentTagAtomicUnion.json diff --git a/test/schemas/llm/3.0/CommentTagDefault.json b/test/schemas/llm.schema/3.0/CommentTagDefault.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagDefault.json rename to test/schemas/llm.schema/3.0/CommentTagDefault.json diff --git a/test/schemas/llm/3.0/CommentTagFormat.json b/test/schemas/llm.schema/3.0/CommentTagFormat.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagFormat.json rename to test/schemas/llm.schema/3.0/CommentTagFormat.json diff --git a/test/schemas/llm/3.0/CommentTagLength.json b/test/schemas/llm.schema/3.0/CommentTagLength.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagLength.json rename to test/schemas/llm.schema/3.0/CommentTagLength.json diff --git a/test/schemas/llm/3.0/CommentTagObjectUnion.json b/test/schemas/llm.schema/3.0/CommentTagObjectUnion.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagObjectUnion.json rename to test/schemas/llm.schema/3.0/CommentTagObjectUnion.json diff --git a/test/schemas/llm/3.0/CommentTagPattern.json b/test/schemas/llm.schema/3.0/CommentTagPattern.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagPattern.json rename to test/schemas/llm.schema/3.0/CommentTagPattern.json diff --git a/test/schemas/llm/3.0/CommentTagRange.json b/test/schemas/llm.schema/3.0/CommentTagRange.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagRange.json rename to test/schemas/llm.schema/3.0/CommentTagRange.json diff --git a/test/schemas/llm/3.0/CommentTagType.json b/test/schemas/llm.schema/3.0/CommentTagType.json similarity index 100% rename from test/schemas/llm/3.0/CommentTagType.json rename to test/schemas/llm.schema/3.0/CommentTagType.json diff --git a/test/schemas/llm/3.0/ConstantAtomicAbsorbed.json b/test/schemas/llm.schema/3.0/ConstantAtomicAbsorbed.json similarity index 100% rename from test/schemas/llm/3.0/ConstantAtomicAbsorbed.json rename to test/schemas/llm.schema/3.0/ConstantAtomicAbsorbed.json diff --git a/test/schemas/llm.schema/3.0/ConstantAtomicSimple.json b/test/schemas/llm.schema/3.0/ConstantAtomicSimple.json new file mode 100644 index 0000000000..b29c2a06f5 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ConstantAtomicSimple.json @@ -0,0 +1,33 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "boolean", + "enum": [ + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/ConstantAtomicTagged.json b/test/schemas/llm.schema/3.0/ConstantAtomicTagged.json similarity index 100% rename from test/schemas/llm/3.0/ConstantAtomicTagged.json rename to test/schemas/llm.schema/3.0/ConstantAtomicTagged.json diff --git a/test/schemas/llm/3.0/ConstantAtomicUnion.json b/test/schemas/llm.schema/3.0/ConstantAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.0/ConstantAtomicUnion.json rename to test/schemas/llm.schema/3.0/ConstantAtomicUnion.json diff --git a/test/schemas/llm/3.0/ConstantAtomicWrapper.json b/test/schemas/llm.schema/3.0/ConstantAtomicWrapper.json similarity index 100% rename from test/schemas/llm/3.0/ConstantAtomicWrapper.json rename to test/schemas/llm.schema/3.0/ConstantAtomicWrapper.json diff --git a/test/schemas/llm/3.0/ConstantConstEnumeration.json b/test/schemas/llm.schema/3.0/ConstantConstEnumeration.json similarity index 100% rename from test/schemas/llm/3.0/ConstantConstEnumeration.json rename to test/schemas/llm.schema/3.0/ConstantConstEnumeration.json diff --git a/test/schemas/llm/3.0/ConstantEnumeration.json b/test/schemas/llm.schema/3.0/ConstantEnumeration.json similarity index 100% rename from test/schemas/llm/3.0/ConstantEnumeration.json rename to test/schemas/llm.schema/3.0/ConstantEnumeration.json diff --git a/test/schemas/llm/3.0/ConstantIntersection.json b/test/schemas/llm.schema/3.0/ConstantIntersection.json similarity index 100% rename from test/schemas/llm/3.0/ConstantIntersection.json rename to test/schemas/llm.schema/3.0/ConstantIntersection.json diff --git a/test/schemas/llm/3.0/DynamicArray.json b/test/schemas/llm.schema/3.0/DynamicArray.json similarity index 100% rename from test/schemas/llm/3.0/DynamicArray.json rename to test/schemas/llm.schema/3.0/DynamicArray.json diff --git a/test/schemas/llm/3.0/DynamicComposite.json b/test/schemas/llm.schema/3.0/DynamicComposite.json similarity index 100% rename from test/schemas/llm/3.0/DynamicComposite.json rename to test/schemas/llm.schema/3.0/DynamicComposite.json diff --git a/test/schemas/llm/3.0/DynamicConstant.json b/test/schemas/llm.schema/3.0/DynamicConstant.json similarity index 100% rename from test/schemas/llm/3.0/DynamicConstant.json rename to test/schemas/llm.schema/3.0/DynamicConstant.json diff --git a/test/schemas/llm/3.0/DynamicEnumeration.json b/test/schemas/llm.schema/3.0/DynamicEnumeration.json similarity index 100% rename from test/schemas/llm/3.0/DynamicEnumeration.json rename to test/schemas/llm.schema/3.0/DynamicEnumeration.json diff --git a/test/schemas/llm/3.0/DynamicNever.json b/test/schemas/llm.schema/3.0/DynamicNever.json similarity index 100% rename from test/schemas/llm/3.0/DynamicNever.json rename to test/schemas/llm.schema/3.0/DynamicNever.json diff --git a/test/schemas/llm/3.0/DynamicSimple.json b/test/schemas/llm.schema/3.0/DynamicSimple.json similarity index 100% rename from test/schemas/llm/3.0/DynamicSimple.json rename to test/schemas/llm.schema/3.0/DynamicSimple.json diff --git a/test/schemas/llm/3.0/DynamicTemplate.json b/test/schemas/llm.schema/3.0/DynamicTemplate.json similarity index 100% rename from test/schemas/llm/3.0/DynamicTemplate.json rename to test/schemas/llm.schema/3.0/DynamicTemplate.json diff --git a/test/schemas/llm.schema/3.0/DynamicTree.json b/test/schemas/llm.schema/3.0/DynamicTree.json new file mode 100644 index 0000000000..fe3e2906aa --- /dev/null +++ b/test/schemas/llm.schema/3.0/DynamicTree.json @@ -0,0 +1,89 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/DynamicUndefined.json b/test/schemas/llm.schema/3.0/DynamicUndefined.json similarity index 100% rename from test/schemas/llm/3.0/DynamicUndefined.json rename to test/schemas/llm.schema/3.0/DynamicUndefined.json diff --git a/test/schemas/llm/3.0/DynamicUnion.json b/test/schemas/llm.schema/3.0/DynamicUnion.json similarity index 100% rename from test/schemas/llm/3.0/DynamicUnion.json rename to test/schemas/llm.schema/3.0/DynamicUnion.json diff --git a/test/schemas/llm/3.0/ObjectAlias.json b/test/schemas/llm.schema/3.0/ObjectAlias.json similarity index 100% rename from test/schemas/llm/3.0/ObjectAlias.json rename to test/schemas/llm.schema/3.0/ObjectAlias.json diff --git a/test/schemas/llm/3.0/ObjectDate.json b/test/schemas/llm.schema/3.0/ObjectDate.json similarity index 100% rename from test/schemas/llm/3.0/ObjectDate.json rename to test/schemas/llm.schema/3.0/ObjectDate.json diff --git a/test/schemas/llm/3.0/ObjectDescription.json b/test/schemas/llm.schema/3.0/ObjectDescription.json similarity index 100% rename from test/schemas/llm/3.0/ObjectDescription.json rename to test/schemas/llm.schema/3.0/ObjectDescription.json diff --git a/test/schemas/llm/3.0/ObjectDynamic.json b/test/schemas/llm.schema/3.0/ObjectDynamic.json similarity index 100% rename from test/schemas/llm/3.0/ObjectDynamic.json rename to test/schemas/llm.schema/3.0/ObjectDynamic.json diff --git a/test/schemas/llm/3.0/ObjectGeneric.json b/test/schemas/llm.schema/3.0/ObjectGeneric.json similarity index 100% rename from test/schemas/llm/3.0/ObjectGeneric.json rename to test/schemas/llm.schema/3.0/ObjectGeneric.json diff --git a/test/schemas/llm/3.0/ObjectGenericAlias.json b/test/schemas/llm.schema/3.0/ObjectGenericAlias.json similarity index 100% rename from test/schemas/llm/3.0/ObjectGenericAlias.json rename to test/schemas/llm.schema/3.0/ObjectGenericAlias.json diff --git a/test/schemas/llm/3.0/ObjectGenericArray.json b/test/schemas/llm.schema/3.0/ObjectGenericArray.json similarity index 100% rename from test/schemas/llm/3.0/ObjectGenericArray.json rename to test/schemas/llm.schema/3.0/ObjectGenericArray.json diff --git a/test/schemas/llm/3.0/ObjectGenericUnion.json b/test/schemas/llm.schema/3.0/ObjectGenericUnion.json similarity index 100% rename from test/schemas/llm/3.0/ObjectGenericUnion.json rename to test/schemas/llm.schema/3.0/ObjectGenericUnion.json diff --git a/test/schemas/llm/3.0/ObjectHierarchical.json b/test/schemas/llm.schema/3.0/ObjectHierarchical.json similarity index 100% rename from test/schemas/llm/3.0/ObjectHierarchical.json rename to test/schemas/llm.schema/3.0/ObjectHierarchical.json diff --git a/test/schemas/llm/3.0/ObjectInternal.json b/test/schemas/llm.schema/3.0/ObjectInternal.json similarity index 100% rename from test/schemas/llm/3.0/ObjectInternal.json rename to test/schemas/llm.schema/3.0/ObjectInternal.json diff --git a/test/schemas/llm/3.0/ObjectIntersection.json b/test/schemas/llm.schema/3.0/ObjectIntersection.json similarity index 100% rename from test/schemas/llm/3.0/ObjectIntersection.json rename to test/schemas/llm.schema/3.0/ObjectIntersection.json diff --git a/test/schemas/llm/3.0/ObjectJsonTag.json b/test/schemas/llm.schema/3.0/ObjectJsonTag.json similarity index 100% rename from test/schemas/llm/3.0/ObjectJsonTag.json rename to test/schemas/llm.schema/3.0/ObjectJsonTag.json diff --git a/test/schemas/llm/3.0/ObjectLiteralProperty.json b/test/schemas/llm.schema/3.0/ObjectLiteralProperty.json similarity index 100% rename from test/schemas/llm/3.0/ObjectLiteralProperty.json rename to test/schemas/llm.schema/3.0/ObjectLiteralProperty.json diff --git a/test/schemas/llm/3.0/ObjectLiteralType.json b/test/schemas/llm.schema/3.0/ObjectLiteralType.json similarity index 100% rename from test/schemas/llm/3.0/ObjectLiteralType.json rename to test/schemas/llm.schema/3.0/ObjectLiteralType.json diff --git a/test/schemas/llm/3.0/ObjectNullable.json b/test/schemas/llm.schema/3.0/ObjectNullable.json similarity index 100% rename from test/schemas/llm/3.0/ObjectNullable.json rename to test/schemas/llm.schema/3.0/ObjectNullable.json diff --git a/test/schemas/llm/3.0/ObjectOptional.json b/test/schemas/llm.schema/3.0/ObjectOptional.json similarity index 100% rename from test/schemas/llm/3.0/ObjectOptional.json rename to test/schemas/llm.schema/3.0/ObjectOptional.json diff --git a/test/schemas/llm.schema/3.0/ObjectPartial.json b/test/schemas/llm.schema/3.0/ObjectPartial.json new file mode 100644 index 0000000000..dc8006b03a --- /dev/null +++ b/test/schemas/llm.schema/3.0/ObjectPartial.json @@ -0,0 +1,141 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false, + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ObjectPartialAndRequired.json b/test/schemas/llm.schema/3.0/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..3c341d0fb1 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ObjectPartialAndRequired.json @@ -0,0 +1,106 @@ +{ + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false, + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/ObjectPrimitive.json b/test/schemas/llm.schema/3.0/ObjectPrimitive.json similarity index 100% rename from test/schemas/llm/3.0/ObjectPrimitive.json rename to test/schemas/llm.schema/3.0/ObjectPrimitive.json diff --git a/test/schemas/llm/3.0/ObjectPropertyNullable.json b/test/schemas/llm.schema/3.0/ObjectPropertyNullable.json similarity index 100% rename from test/schemas/llm/3.0/ObjectPropertyNullable.json rename to test/schemas/llm.schema/3.0/ObjectPropertyNullable.json diff --git a/test/schemas/llm.schema/3.0/ObjectRecursive.json b/test/schemas/llm.schema/3.0/ObjectRecursive.json new file mode 100644 index 0000000000..1bd78b6432 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ObjectRecursive.json @@ -0,0 +1,174 @@ +{ + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false, + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/ObjectRequired.json b/test/schemas/llm.schema/3.0/ObjectRequired.json new file mode 100644 index 0000000000..7e620dcc25 --- /dev/null +++ b/test/schemas/llm.schema/3.0/ObjectRequired.json @@ -0,0 +1,120 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/ObjectSimple.json b/test/schemas/llm.schema/3.0/ObjectSimple.json similarity index 100% rename from test/schemas/llm/3.0/ObjectSimple.json rename to test/schemas/llm.schema/3.0/ObjectSimple.json diff --git a/test/schemas/llm/3.0/ObjectTuple.json b/test/schemas/llm.schema/3.0/ObjectTuple.json similarity index 100% rename from test/schemas/llm/3.0/ObjectTuple.json rename to test/schemas/llm.schema/3.0/ObjectTuple.json diff --git a/test/schemas/llm/3.0/ObjectUndefined.json b/test/schemas/llm.schema/3.0/ObjectUndefined.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUndefined.json rename to test/schemas/llm.schema/3.0/ObjectUndefined.json diff --git a/test/schemas/llm/3.0/ObjectUnionComposite.json b/test/schemas/llm.schema/3.0/ObjectUnionComposite.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUnionComposite.json rename to test/schemas/llm.schema/3.0/ObjectUnionComposite.json diff --git a/test/schemas/llm/3.0/ObjectUnionCompositePointer.json b/test/schemas/llm.schema/3.0/ObjectUnionCompositePointer.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUnionCompositePointer.json rename to test/schemas/llm.schema/3.0/ObjectUnionCompositePointer.json diff --git a/test/schemas/llm/3.0/ObjectUnionDouble.json b/test/schemas/llm.schema/3.0/ObjectUnionDouble.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUnionDouble.json rename to test/schemas/llm.schema/3.0/ObjectUnionDouble.json diff --git a/test/schemas/llm/3.0/ObjectUnionExplicit.json b/test/schemas/llm.schema/3.0/ObjectUnionExplicit.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUnionExplicit.json rename to test/schemas/llm.schema/3.0/ObjectUnionExplicit.json diff --git a/test/schemas/llm/3.0/ObjectUnionExplicitPointer.json b/test/schemas/llm.schema/3.0/ObjectUnionExplicitPointer.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUnionExplicitPointer.json rename to test/schemas/llm.schema/3.0/ObjectUnionExplicitPointer.json diff --git a/test/schemas/llm/3.0/ObjectUnionImplicit.json b/test/schemas/llm.schema/3.0/ObjectUnionImplicit.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUnionImplicit.json rename to test/schemas/llm.schema/3.0/ObjectUnionImplicit.json diff --git a/test/schemas/llm/3.0/ObjectUnionNonPredictable.json b/test/schemas/llm.schema/3.0/ObjectUnionNonPredictable.json similarity index 100% rename from test/schemas/llm/3.0/ObjectUnionNonPredictable.json rename to test/schemas/llm.schema/3.0/ObjectUnionNonPredictable.json diff --git a/test/schemas/llm/3.0/TemplateAtomic.json b/test/schemas/llm.schema/3.0/TemplateAtomic.json similarity index 100% rename from test/schemas/llm/3.0/TemplateAtomic.json rename to test/schemas/llm.schema/3.0/TemplateAtomic.json diff --git a/test/schemas/llm/3.0/TemplateConstant.json b/test/schemas/llm.schema/3.0/TemplateConstant.json similarity index 100% rename from test/schemas/llm/3.0/TemplateConstant.json rename to test/schemas/llm.schema/3.0/TemplateConstant.json diff --git a/test/schemas/llm/3.0/TemplateUnion.json b/test/schemas/llm.schema/3.0/TemplateUnion.json similarity index 100% rename from test/schemas/llm/3.0/TemplateUnion.json rename to test/schemas/llm.schema/3.0/TemplateUnion.json diff --git a/test/schemas/llm/3.0/ToJsonArray.json b/test/schemas/llm.schema/3.0/ToJsonArray.json similarity index 100% rename from test/schemas/llm/3.0/ToJsonArray.json rename to test/schemas/llm.schema/3.0/ToJsonArray.json diff --git a/test/schemas/llm/3.0/ToJsonAtomicSimple.json b/test/schemas/llm.schema/3.0/ToJsonAtomicSimple.json similarity index 100% rename from test/schemas/llm/3.0/ToJsonAtomicSimple.json rename to test/schemas/llm.schema/3.0/ToJsonAtomicSimple.json diff --git a/test/schemas/llm/3.0/ToJsonAtomicUnion.json b/test/schemas/llm.schema/3.0/ToJsonAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.0/ToJsonAtomicUnion.json rename to test/schemas/llm.schema/3.0/ToJsonAtomicUnion.json diff --git a/test/schemas/llm/3.0/ToJsonDouble.json b/test/schemas/llm.schema/3.0/ToJsonDouble.json similarity index 100% rename from test/schemas/llm/3.0/ToJsonDouble.json rename to test/schemas/llm.schema/3.0/ToJsonDouble.json diff --git a/test/schemas/llm/3.0/ToJsonNull.json b/test/schemas/llm.schema/3.0/ToJsonNull.json similarity index 100% rename from test/schemas/llm/3.0/ToJsonNull.json rename to test/schemas/llm.schema/3.0/ToJsonNull.json diff --git a/test/schemas/llm/3.0/ToJsonTuple.json b/test/schemas/llm.schema/3.0/ToJsonTuple.json similarity index 100% rename from test/schemas/llm/3.0/ToJsonTuple.json rename to test/schemas/llm.schema/3.0/ToJsonTuple.json diff --git a/test/schemas/llm/3.0/ToJsonUnion.json b/test/schemas/llm.schema/3.0/ToJsonUnion.json similarity index 100% rename from test/schemas/llm/3.0/ToJsonUnion.json rename to test/schemas/llm.schema/3.0/ToJsonUnion.json diff --git a/test/schemas/llm.schema/3.0/TupleHierarchical.json b/test/schemas/llm.schema/3.0/TupleHierarchical.json new file mode 100644 index 0000000000..e1ce8d968f --- /dev/null +++ b/test/schemas/llm.schema/3.0/TupleHierarchical.json @@ -0,0 +1,123 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 5, + "maxItems": 5 +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/TupleRestArray.json b/test/schemas/llm.schema/3.0/TupleRestArray.json new file mode 100644 index 0000000000..98b9dcf82e --- /dev/null +++ b/test/schemas/llm.schema/3.0/TupleRestArray.json @@ -0,0 +1,20 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2 +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/TupleRestAtomic.json b/test/schemas/llm.schema/3.0/TupleRestAtomic.json new file mode 100644 index 0000000000..e0857629a7 --- /dev/null +++ b/test/schemas/llm.schema/3.0/TupleRestAtomic.json @@ -0,0 +1,17 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2 +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.0/TupleRestObject.json b/test/schemas/llm.schema/3.0/TupleRestObject.json new file mode 100644 index 0000000000..3614a60aa1 --- /dev/null +++ b/test/schemas/llm.schema/3.0/TupleRestObject.json @@ -0,0 +1,26 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + }, + "minItems": 2 +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/TypeTagArray.json b/test/schemas/llm.schema/3.0/TypeTagArray.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagArray.json rename to test/schemas/llm.schema/3.0/TypeTagArray.json diff --git a/test/schemas/llm/3.0/TypeTagArrayUnion.json b/test/schemas/llm.schema/3.0/TypeTagArrayUnion.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagArrayUnion.json rename to test/schemas/llm.schema/3.0/TypeTagArrayUnion.json diff --git a/test/schemas/llm/3.0/TypeTagAtomicUnion.json b/test/schemas/llm.schema/3.0/TypeTagAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagAtomicUnion.json rename to test/schemas/llm.schema/3.0/TypeTagAtomicUnion.json diff --git a/test/schemas/llm/3.0/TypeTagCustom.json b/test/schemas/llm.schema/3.0/TypeTagCustom.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagCustom.json rename to test/schemas/llm.schema/3.0/TypeTagCustom.json diff --git a/test/schemas/llm/3.0/TypeTagDefault.json b/test/schemas/llm.schema/3.0/TypeTagDefault.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagDefault.json rename to test/schemas/llm.schema/3.0/TypeTagDefault.json diff --git a/test/schemas/llm/3.0/TypeTagFormat.json b/test/schemas/llm.schema/3.0/TypeTagFormat.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagFormat.json rename to test/schemas/llm.schema/3.0/TypeTagFormat.json diff --git a/test/schemas/llm/3.0/TypeTagLength.json b/test/schemas/llm.schema/3.0/TypeTagLength.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagLength.json rename to test/schemas/llm.schema/3.0/TypeTagLength.json diff --git a/test/schemas/llm/3.0/TypeTagMatrix.json b/test/schemas/llm.schema/3.0/TypeTagMatrix.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagMatrix.json rename to test/schemas/llm.schema/3.0/TypeTagMatrix.json diff --git a/test/schemas/llm/3.0/TypeTagObjectUnion.json b/test/schemas/llm.schema/3.0/TypeTagObjectUnion.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagObjectUnion.json rename to test/schemas/llm.schema/3.0/TypeTagObjectUnion.json diff --git a/test/schemas/llm/3.0/TypeTagPattern.json b/test/schemas/llm.schema/3.0/TypeTagPattern.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagPattern.json rename to test/schemas/llm.schema/3.0/TypeTagPattern.json diff --git a/test/schemas/llm/3.0/TypeTagRange.json b/test/schemas/llm.schema/3.0/TypeTagRange.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagRange.json rename to test/schemas/llm.schema/3.0/TypeTagRange.json diff --git a/test/schemas/llm/3.0/TypeTagTuple.json b/test/schemas/llm.schema/3.0/TypeTagTuple.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagTuple.json rename to test/schemas/llm.schema/3.0/TypeTagTuple.json diff --git a/test/schemas/llm/3.0/TypeTagType.json b/test/schemas/llm.schema/3.0/TypeTagType.json similarity index 100% rename from test/schemas/llm/3.0/TypeTagType.json rename to test/schemas/llm.schema/3.0/TypeTagType.json diff --git a/test/schemas/llm/3.1/ArrayAny.json b/test/schemas/llm.schema/3.1/ArrayAny.json similarity index 100% rename from test/schemas/llm/3.1/ArrayAny.json rename to test/schemas/llm.schema/3.1/ArrayAny.json diff --git a/test/schemas/llm/3.1/ArrayAtomicAlias.json b/test/schemas/llm.schema/3.1/ArrayAtomicAlias.json similarity index 100% rename from test/schemas/llm/3.1/ArrayAtomicAlias.json rename to test/schemas/llm.schema/3.1/ArrayAtomicAlias.json diff --git a/test/schemas/llm/3.1/ArrayAtomicSimple.json b/test/schemas/llm.schema/3.1/ArrayAtomicSimple.json similarity index 100% rename from test/schemas/llm/3.1/ArrayAtomicSimple.json rename to test/schemas/llm.schema/3.1/ArrayAtomicSimple.json diff --git a/test/schemas/llm/3.1/ArrayHierarchical.json b/test/schemas/llm.schema/3.1/ArrayHierarchical.json similarity index 100% rename from test/schemas/llm/3.1/ArrayHierarchical.json rename to test/schemas/llm.schema/3.1/ArrayHierarchical.json diff --git a/test/schemas/llm/3.1/ArrayHierarchicalPointer.json b/test/schemas/llm.schema/3.1/ArrayHierarchicalPointer.json similarity index 100% rename from test/schemas/llm/3.1/ArrayHierarchicalPointer.json rename to test/schemas/llm.schema/3.1/ArrayHierarchicalPointer.json diff --git a/test/schemas/llm/3.1/ArrayMatrix.json b/test/schemas/llm.schema/3.1/ArrayMatrix.json similarity index 100% rename from test/schemas/llm/3.1/ArrayMatrix.json rename to test/schemas/llm.schema/3.1/ArrayMatrix.json diff --git a/test/schemas/llm.schema/3.1/ArrayRecursive.json b/test/schemas/llm.schema/3.1/ArrayRecursive.json new file mode 100644 index 0000000000..878fb3cb3e --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRecursive.json @@ -0,0 +1,166 @@ +{ + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ArrayRecursiveUnionExplicit.json b/test/schemas/llm.schema/3.1/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..4f440825bd --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRecursiveUnionExplicit.json @@ -0,0 +1,3818 @@ +{ + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "ArrayRecursiveUnionExplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionExplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/llm.schema/3.1/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..780cd4eef8 --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1,4077 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "type": "object", + "properties": { + "value": { + "components": { + "schemas": { + "ArrayRecursiveUnionExplicitPointer": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IBucket": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + } + }, + "required": [ + "value" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + } + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ] + }, + "ArrayRecursiveUnionExplicitPointer.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IBucket" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionExplicitPointer.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + }, + "type": { + "const": "directory" + } + }, + "required": [ + "id", + "name", + "path", + "children", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "jpg" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "txt" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content", + "type", + "extension" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + }, + "type": { + "const": "file" + }, + "extension": { + "const": "zip" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + "type": { + "const": "file" + }, + "extension": { + "const": "lnk" + } + }, + "required": [ + "id", + "name", + "path", + "target", + "type", + "extension" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ArrayRecursiveUnionImplicit.json b/test/schemas/llm.schema/3.1/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..73f74bb4ee --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRecursiveUnionImplicit.json @@ -0,0 +1,12214 @@ +{ + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "access": { + "components": { + "schemas": { + "ArrayRecursiveUnionImplicit": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "ArrayRecursiveUnionImplicit.IBucket": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ISharedDirectory" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IImageFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.ITextFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IZipFile" + }, + { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IShortcut" + } + ] + }, + "ArrayRecursiveUnionImplicit.IDirectory": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.ISharedDirectory": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ] + }, + "ArrayRecursiveUnionImplicit.IImageFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ] + }, + "ArrayRecursiveUnionImplicit.ITextFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ] + }, + "ArrayRecursiveUnionImplicit.IZipFile": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ] + }, + "ArrayRecursiveUnionImplicit.IShortcut": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/ArrayRecursiveUnionImplicit.IBucket" + } + }, + "required": [ + "id", + "name", + "path", + "target" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "const": "read" + }, + { + "const": "write" + } + ] + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "children": { + "type": "array", + "items": {}, + "maxItems": 0 + } + }, + "required": [ + "access", + "id", + "name", + "path", + "children" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "size": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "width", + "height", + "url", + "size" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "content": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "content" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "number" + }, + "count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "path", + "size", + "count" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "id", + "name", + "path", + "target" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ArrayRepeatedNullable.json b/test/schemas/llm.schema/3.1/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..62ab4fb24c --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRepeatedNullable.json @@ -0,0 +1,242 @@ +{ + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedNullable": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "ArrayArrayRepeatedNullable": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedNullable" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedNullable" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ArrayRepeatedRequired.json b/test/schemas/llm.schema/3.1/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..fc31a94d96 --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRepeatedRequired.json @@ -0,0 +1,206 @@ +{ + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedRequired": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "ArrayArrayRepeatedRequired": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedRequired" + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ArrayRepeatedUnion.json b/test/schemas/llm.schema/3.1/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..d40ce7b587 --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRepeatedUnion.json @@ -0,0 +1,874 @@ +{ + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnion": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "ArrayArrayRepeatedUnion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion" + } + }, + "ArrayRepeatedUnion.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnion.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnion" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnion.IBox3D" + } + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ArrayRepeatedUnionWithTuple.json b/test/schemas/llm.schema/3.1/ArrayRepeatedUnionWithTuple.json new file mode 100644 index 0000000000..8b045b9a64 --- /dev/null +++ b/test/schemas/llm.schema/3.1/ArrayRepeatedUnionWithTuple.json @@ -0,0 +1,1622 @@ +{ + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "components": { + "schemas": { + "ArrayRepeatedUnionWithTuple": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "ArrayArrayRepeatedUnionWithTuple": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple" + } + }, + "ArrayRepeatedUnionWithTuple.IBox3D": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "position": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "rotate": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + }, + "pivot": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] + }, + "ArrayRepeatedUnionWithTuple.IPoint3D": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ArrayArrayRepeatedUnionWithTuple" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IBox3D" + }, + { + "$ref": "#/components/schemas/ArrayRepeatedUnionWithTuple.IPoint3D" + } + ], + "additionalItems": false + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": {}, + "maxItems": 0 + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + } + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "additionalItems": false + }, + { + "type": "array", + "prefixItems": [ + { + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "additionalItems": false + } + ] +} \ No newline at end of file diff --git a/test/schemas/llm/3.1/ArraySimple.json b/test/schemas/llm.schema/3.1/ArraySimple.json similarity index 100% rename from test/schemas/llm/3.1/ArraySimple.json rename to test/schemas/llm.schema/3.1/ArraySimple.json diff --git a/test/schemas/llm/3.1/ArrayUnion.json b/test/schemas/llm.schema/3.1/ArrayUnion.json similarity index 100% rename from test/schemas/llm/3.1/ArrayUnion.json rename to test/schemas/llm.schema/3.1/ArrayUnion.json diff --git a/test/schemas/llm/3.1/AtomicAlias.json b/test/schemas/llm.schema/3.1/AtomicAlias.json similarity index 100% rename from test/schemas/llm/3.1/AtomicAlias.json rename to test/schemas/llm.schema/3.1/AtomicAlias.json diff --git a/test/schemas/llm/3.1/AtomicClass.json b/test/schemas/llm.schema/3.1/AtomicClass.json similarity index 100% rename from test/schemas/llm/3.1/AtomicClass.json rename to test/schemas/llm.schema/3.1/AtomicClass.json diff --git a/test/schemas/llm/3.1/AtomicIntersection.json b/test/schemas/llm.schema/3.1/AtomicIntersection.json similarity index 100% rename from test/schemas/llm/3.1/AtomicIntersection.json rename to test/schemas/llm.schema/3.1/AtomicIntersection.json diff --git a/test/schemas/llm/3.1/AtomicSimple.json b/test/schemas/llm.schema/3.1/AtomicSimple.json similarity index 100% rename from test/schemas/llm/3.1/AtomicSimple.json rename to test/schemas/llm.schema/3.1/AtomicSimple.json diff --git a/test/schemas/llm/3.1/AtomicUnion.json b/test/schemas/llm.schema/3.1/AtomicUnion.json similarity index 100% rename from test/schemas/llm/3.1/AtomicUnion.json rename to test/schemas/llm.schema/3.1/AtomicUnion.json diff --git a/test/schemas/llm/3.1/ClassGetter.json b/test/schemas/llm.schema/3.1/ClassGetter.json similarity index 100% rename from test/schemas/llm/3.1/ClassGetter.json rename to test/schemas/llm.schema/3.1/ClassGetter.json diff --git a/test/schemas/llm/3.1/ClassMethod.json b/test/schemas/llm.schema/3.1/ClassMethod.json similarity index 100% rename from test/schemas/llm/3.1/ClassMethod.json rename to test/schemas/llm.schema/3.1/ClassMethod.json diff --git a/test/schemas/llm/3.1/ClassPropertyAssignment.json b/test/schemas/llm.schema/3.1/ClassPropertyAssignment.json similarity index 100% rename from test/schemas/llm/3.1/ClassPropertyAssignment.json rename to test/schemas/llm.schema/3.1/ClassPropertyAssignment.json diff --git a/test/schemas/llm/3.1/CommentTagArray.json b/test/schemas/llm.schema/3.1/CommentTagArray.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagArray.json rename to test/schemas/llm.schema/3.1/CommentTagArray.json diff --git a/test/schemas/llm/3.1/CommentTagArrayUnion.json b/test/schemas/llm.schema/3.1/CommentTagArrayUnion.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagArrayUnion.json rename to test/schemas/llm.schema/3.1/CommentTagArrayUnion.json diff --git a/test/schemas/llm/3.1/CommentTagAtomicUnion.json b/test/schemas/llm.schema/3.1/CommentTagAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagAtomicUnion.json rename to test/schemas/llm.schema/3.1/CommentTagAtomicUnion.json diff --git a/test/schemas/llm/3.1/CommentTagDefault.json b/test/schemas/llm.schema/3.1/CommentTagDefault.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagDefault.json rename to test/schemas/llm.schema/3.1/CommentTagDefault.json diff --git a/test/schemas/llm/3.1/CommentTagFormat.json b/test/schemas/llm.schema/3.1/CommentTagFormat.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagFormat.json rename to test/schemas/llm.schema/3.1/CommentTagFormat.json diff --git a/test/schemas/llm/3.1/CommentTagLength.json b/test/schemas/llm.schema/3.1/CommentTagLength.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagLength.json rename to test/schemas/llm.schema/3.1/CommentTagLength.json diff --git a/test/schemas/llm/3.1/CommentTagObjectUnion.json b/test/schemas/llm.schema/3.1/CommentTagObjectUnion.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagObjectUnion.json rename to test/schemas/llm.schema/3.1/CommentTagObjectUnion.json diff --git a/test/schemas/llm/3.1/CommentTagPattern.json b/test/schemas/llm.schema/3.1/CommentTagPattern.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagPattern.json rename to test/schemas/llm.schema/3.1/CommentTagPattern.json diff --git a/test/schemas/llm/3.1/CommentTagRange.json b/test/schemas/llm.schema/3.1/CommentTagRange.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagRange.json rename to test/schemas/llm.schema/3.1/CommentTagRange.json diff --git a/test/schemas/llm/3.1/CommentTagType.json b/test/schemas/llm.schema/3.1/CommentTagType.json similarity index 100% rename from test/schemas/llm/3.1/CommentTagType.json rename to test/schemas/llm.schema/3.1/CommentTagType.json diff --git a/test/schemas/llm/3.1/ConstantAtomicAbsorbed.json b/test/schemas/llm.schema/3.1/ConstantAtomicAbsorbed.json similarity index 100% rename from test/schemas/llm/3.1/ConstantAtomicAbsorbed.json rename to test/schemas/llm.schema/3.1/ConstantAtomicAbsorbed.json diff --git a/test/schemas/llm/3.1/ConstantAtomicSimple.json b/test/schemas/llm.schema/3.1/ConstantAtomicSimple.json similarity index 100% rename from test/schemas/llm/3.1/ConstantAtomicSimple.json rename to test/schemas/llm.schema/3.1/ConstantAtomicSimple.json diff --git a/test/schemas/llm/3.1/ConstantAtomicTagged.json b/test/schemas/llm.schema/3.1/ConstantAtomicTagged.json similarity index 100% rename from test/schemas/llm/3.1/ConstantAtomicTagged.json rename to test/schemas/llm.schema/3.1/ConstantAtomicTagged.json diff --git a/test/schemas/llm/3.1/ConstantAtomicUnion.json b/test/schemas/llm.schema/3.1/ConstantAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.1/ConstantAtomicUnion.json rename to test/schemas/llm.schema/3.1/ConstantAtomicUnion.json diff --git a/test/schemas/llm/3.1/ConstantAtomicWrapper.json b/test/schemas/llm.schema/3.1/ConstantAtomicWrapper.json similarity index 100% rename from test/schemas/llm/3.1/ConstantAtomicWrapper.json rename to test/schemas/llm.schema/3.1/ConstantAtomicWrapper.json diff --git a/test/schemas/llm/3.1/ConstantConstEnumeration.json b/test/schemas/llm.schema/3.1/ConstantConstEnumeration.json similarity index 100% rename from test/schemas/llm/3.1/ConstantConstEnumeration.json rename to test/schemas/llm.schema/3.1/ConstantConstEnumeration.json diff --git a/test/schemas/llm/3.1/ConstantEnumeration.json b/test/schemas/llm.schema/3.1/ConstantEnumeration.json similarity index 100% rename from test/schemas/llm/3.1/ConstantEnumeration.json rename to test/schemas/llm.schema/3.1/ConstantEnumeration.json diff --git a/test/schemas/llm/3.1/ConstantIntersection.json b/test/schemas/llm.schema/3.1/ConstantIntersection.json similarity index 100% rename from test/schemas/llm/3.1/ConstantIntersection.json rename to test/schemas/llm.schema/3.1/ConstantIntersection.json diff --git a/test/schemas/llm/3.1/DynamicArray.json b/test/schemas/llm.schema/3.1/DynamicArray.json similarity index 100% rename from test/schemas/llm/3.1/DynamicArray.json rename to test/schemas/llm.schema/3.1/DynamicArray.json diff --git a/test/schemas/llm/3.1/DynamicComposite.json b/test/schemas/llm.schema/3.1/DynamicComposite.json similarity index 100% rename from test/schemas/llm/3.1/DynamicComposite.json rename to test/schemas/llm.schema/3.1/DynamicComposite.json diff --git a/test/schemas/llm/3.1/DynamicConstant.json b/test/schemas/llm.schema/3.1/DynamicConstant.json similarity index 100% rename from test/schemas/llm/3.1/DynamicConstant.json rename to test/schemas/llm.schema/3.1/DynamicConstant.json diff --git a/test/schemas/llm/3.1/DynamicEnumeration.json b/test/schemas/llm.schema/3.1/DynamicEnumeration.json similarity index 100% rename from test/schemas/llm/3.1/DynamicEnumeration.json rename to test/schemas/llm.schema/3.1/DynamicEnumeration.json diff --git a/test/schemas/llm/3.1/DynamicNever.json b/test/schemas/llm.schema/3.1/DynamicNever.json similarity index 100% rename from test/schemas/llm/3.1/DynamicNever.json rename to test/schemas/llm.schema/3.1/DynamicNever.json diff --git a/test/schemas/llm/3.1/DynamicSimple.json b/test/schemas/llm.schema/3.1/DynamicSimple.json similarity index 100% rename from test/schemas/llm/3.1/DynamicSimple.json rename to test/schemas/llm.schema/3.1/DynamicSimple.json diff --git a/test/schemas/llm/3.1/DynamicTemplate.json b/test/schemas/llm.schema/3.1/DynamicTemplate.json similarity index 100% rename from test/schemas/llm/3.1/DynamicTemplate.json rename to test/schemas/llm.schema/3.1/DynamicTemplate.json diff --git a/test/schemas/llm.schema/3.1/DynamicTree.json b/test/schemas/llm.schema/3.1/DynamicTree.json new file mode 100644 index 0000000000..fe3e2906aa --- /dev/null +++ b/test/schemas/llm.schema/3.1/DynamicTree.json @@ -0,0 +1,89 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T", + "additionalProperties": false + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "sequence", + "children" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/3.1/DynamicUndefined.json b/test/schemas/llm.schema/3.1/DynamicUndefined.json similarity index 100% rename from test/schemas/llm/3.1/DynamicUndefined.json rename to test/schemas/llm.schema/3.1/DynamicUndefined.json diff --git a/test/schemas/llm/3.1/DynamicUnion.json b/test/schemas/llm.schema/3.1/DynamicUnion.json similarity index 100% rename from test/schemas/llm/3.1/DynamicUnion.json rename to test/schemas/llm.schema/3.1/DynamicUnion.json diff --git a/test/schemas/llm/3.1/ObjectAlias.json b/test/schemas/llm.schema/3.1/ObjectAlias.json similarity index 100% rename from test/schemas/llm/3.1/ObjectAlias.json rename to test/schemas/llm.schema/3.1/ObjectAlias.json diff --git a/test/schemas/llm/3.1/ObjectDate.json b/test/schemas/llm.schema/3.1/ObjectDate.json similarity index 100% rename from test/schemas/llm/3.1/ObjectDate.json rename to test/schemas/llm.schema/3.1/ObjectDate.json diff --git a/test/schemas/llm/3.1/ObjectDescription.json b/test/schemas/llm.schema/3.1/ObjectDescription.json similarity index 100% rename from test/schemas/llm/3.1/ObjectDescription.json rename to test/schemas/llm.schema/3.1/ObjectDescription.json diff --git a/test/schemas/llm/3.1/ObjectDynamic.json b/test/schemas/llm.schema/3.1/ObjectDynamic.json similarity index 100% rename from test/schemas/llm/3.1/ObjectDynamic.json rename to test/schemas/llm.schema/3.1/ObjectDynamic.json diff --git a/test/schemas/llm/3.1/ObjectGeneric.json b/test/schemas/llm.schema/3.1/ObjectGeneric.json similarity index 100% rename from test/schemas/llm/3.1/ObjectGeneric.json rename to test/schemas/llm.schema/3.1/ObjectGeneric.json diff --git a/test/schemas/llm/3.1/ObjectGenericAlias.json b/test/schemas/llm.schema/3.1/ObjectGenericAlias.json similarity index 100% rename from test/schemas/llm/3.1/ObjectGenericAlias.json rename to test/schemas/llm.schema/3.1/ObjectGenericAlias.json diff --git a/test/schemas/llm/3.1/ObjectGenericArray.json b/test/schemas/llm.schema/3.1/ObjectGenericArray.json similarity index 100% rename from test/schemas/llm/3.1/ObjectGenericArray.json rename to test/schemas/llm.schema/3.1/ObjectGenericArray.json diff --git a/test/schemas/llm/3.1/ObjectGenericUnion.json b/test/schemas/llm.schema/3.1/ObjectGenericUnion.json similarity index 100% rename from test/schemas/llm/3.1/ObjectGenericUnion.json rename to test/schemas/llm.schema/3.1/ObjectGenericUnion.json diff --git a/test/schemas/llm/3.1/ObjectHierarchical.json b/test/schemas/llm.schema/3.1/ObjectHierarchical.json similarity index 100% rename from test/schemas/llm/3.1/ObjectHierarchical.json rename to test/schemas/llm.schema/3.1/ObjectHierarchical.json diff --git a/test/schemas/llm/3.1/ObjectInternal.json b/test/schemas/llm.schema/3.1/ObjectInternal.json similarity index 100% rename from test/schemas/llm/3.1/ObjectInternal.json rename to test/schemas/llm.schema/3.1/ObjectInternal.json diff --git a/test/schemas/llm/3.1/ObjectIntersection.json b/test/schemas/llm.schema/3.1/ObjectIntersection.json similarity index 100% rename from test/schemas/llm/3.1/ObjectIntersection.json rename to test/schemas/llm.schema/3.1/ObjectIntersection.json diff --git a/test/schemas/llm/3.1/ObjectJsonTag.json b/test/schemas/llm.schema/3.1/ObjectJsonTag.json similarity index 100% rename from test/schemas/llm/3.1/ObjectJsonTag.json rename to test/schemas/llm.schema/3.1/ObjectJsonTag.json diff --git a/test/schemas/llm/3.1/ObjectLiteralProperty.json b/test/schemas/llm.schema/3.1/ObjectLiteralProperty.json similarity index 100% rename from test/schemas/llm/3.1/ObjectLiteralProperty.json rename to test/schemas/llm.schema/3.1/ObjectLiteralProperty.json diff --git a/test/schemas/llm/3.1/ObjectLiteralType.json b/test/schemas/llm.schema/3.1/ObjectLiteralType.json similarity index 100% rename from test/schemas/llm/3.1/ObjectLiteralType.json rename to test/schemas/llm.schema/3.1/ObjectLiteralType.json diff --git a/test/schemas/llm/3.1/ObjectNullable.json b/test/schemas/llm.schema/3.1/ObjectNullable.json similarity index 100% rename from test/schemas/llm/3.1/ObjectNullable.json rename to test/schemas/llm.schema/3.1/ObjectNullable.json diff --git a/test/schemas/llm/3.1/ObjectOptional.json b/test/schemas/llm.schema/3.1/ObjectOptional.json similarity index 100% rename from test/schemas/llm/3.1/ObjectOptional.json rename to test/schemas/llm.schema/3.1/ObjectOptional.json diff --git a/test/schemas/llm.schema/3.1/ObjectPartial.json b/test/schemas/llm.schema/3.1/ObjectPartial.json new file mode 100644 index 0000000000..177605d9b5 --- /dev/null +++ b/test/schemas/llm.schema/3.1/ObjectPartial.json @@ -0,0 +1,589 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "PartialObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "description": "Make all properties in T optional" + }, + "ObjectPartial.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartial.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "additionalProperties": false + } + ] + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional", + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ObjectPartialAndRequired.json b/test/schemas/llm.schema/3.1/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..b8553ffb4c --- /dev/null +++ b/test/schemas/llm.schema/3.1/ObjectPartialAndRequired.json @@ -0,0 +1,328 @@ +{ + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "components": { + "schemas": { + "ObjectPartialAndRequired": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectPartialAndRequired" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false + } + ] + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/3.1/ObjectPrimitive.json b/test/schemas/llm.schema/3.1/ObjectPrimitive.json similarity index 100% rename from test/schemas/llm/3.1/ObjectPrimitive.json rename to test/schemas/llm.schema/3.1/ObjectPrimitive.json diff --git a/test/schemas/llm/3.1/ObjectPropertyNullable.json b/test/schemas/llm.schema/3.1/ObjectPropertyNullable.json similarity index 100% rename from test/schemas/llm/3.1/ObjectPropertyNullable.json rename to test/schemas/llm.schema/3.1/ObjectPropertyNullable.json diff --git a/test/schemas/llm.schema/3.1/ObjectRecursive.json b/test/schemas/llm.schema/3.1/ObjectRecursive.json new file mode 100644 index 0000000000..5ac8dd413d --- /dev/null +++ b/test/schemas/llm.schema/3.1/ObjectRecursive.json @@ -0,0 +1,472 @@ +{ + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "parent": { + "components": { + "schemas": { + "ObjectRecursive.IDepartment": { + "type": "object", + "properties": { + "parent": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "$ref": "#/components/schemas/ObjectRecursive.ITimestamp" + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] + }, + "ObjectRecursive.ITimestamp": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRecursive.IDepartment" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ], + "additionalProperties": false + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/3.1/ObjectRequired.json b/test/schemas/llm.schema/3.1/ObjectRequired.json new file mode 100644 index 0000000000..baf69e9f82 --- /dev/null +++ b/test/schemas/llm.schema/3.1/ObjectRequired.json @@ -0,0 +1,568 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "components": { + "schemas": { + "RequiredObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required" + }, + "ObjectRequired.IBase": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + } + } + } + } + }, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ObjectRequired.IBase" + } + ] + }, + "recursive": 3, + "visited": {}, + "oneOf": [ + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required", + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/3.1/ObjectSimple.json b/test/schemas/llm.schema/3.1/ObjectSimple.json similarity index 100% rename from test/schemas/llm/3.1/ObjectSimple.json rename to test/schemas/llm.schema/3.1/ObjectSimple.json diff --git a/test/schemas/llm/3.1/ObjectTuple.json b/test/schemas/llm.schema/3.1/ObjectTuple.json similarity index 100% rename from test/schemas/llm/3.1/ObjectTuple.json rename to test/schemas/llm.schema/3.1/ObjectTuple.json diff --git a/test/schemas/llm/3.1/ObjectUndefined.json b/test/schemas/llm.schema/3.1/ObjectUndefined.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUndefined.json rename to test/schemas/llm.schema/3.1/ObjectUndefined.json diff --git a/test/schemas/llm/3.1/ObjectUnionComposite.json b/test/schemas/llm.schema/3.1/ObjectUnionComposite.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUnionComposite.json rename to test/schemas/llm.schema/3.1/ObjectUnionComposite.json diff --git a/test/schemas/llm/3.1/ObjectUnionCompositePointer.json b/test/schemas/llm.schema/3.1/ObjectUnionCompositePointer.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUnionCompositePointer.json rename to test/schemas/llm.schema/3.1/ObjectUnionCompositePointer.json diff --git a/test/schemas/llm/3.1/ObjectUnionDouble.json b/test/schemas/llm.schema/3.1/ObjectUnionDouble.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUnionDouble.json rename to test/schemas/llm.schema/3.1/ObjectUnionDouble.json diff --git a/test/schemas/llm/3.1/ObjectUnionExplicit.json b/test/schemas/llm.schema/3.1/ObjectUnionExplicit.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUnionExplicit.json rename to test/schemas/llm.schema/3.1/ObjectUnionExplicit.json diff --git a/test/schemas/llm/3.1/ObjectUnionExplicitPointer.json b/test/schemas/llm.schema/3.1/ObjectUnionExplicitPointer.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUnionExplicitPointer.json rename to test/schemas/llm.schema/3.1/ObjectUnionExplicitPointer.json diff --git a/test/schemas/llm/3.1/ObjectUnionImplicit.json b/test/schemas/llm.schema/3.1/ObjectUnionImplicit.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUnionImplicit.json rename to test/schemas/llm.schema/3.1/ObjectUnionImplicit.json diff --git a/test/schemas/llm/3.1/ObjectUnionNonPredictable.json b/test/schemas/llm.schema/3.1/ObjectUnionNonPredictable.json similarity index 100% rename from test/schemas/llm/3.1/ObjectUnionNonPredictable.json rename to test/schemas/llm.schema/3.1/ObjectUnionNonPredictable.json diff --git a/test/schemas/llm/3.1/TemplateAtomic.json b/test/schemas/llm.schema/3.1/TemplateAtomic.json similarity index 100% rename from test/schemas/llm/3.1/TemplateAtomic.json rename to test/schemas/llm.schema/3.1/TemplateAtomic.json diff --git a/test/schemas/llm/3.1/TemplateConstant.json b/test/schemas/llm.schema/3.1/TemplateConstant.json similarity index 100% rename from test/schemas/llm/3.1/TemplateConstant.json rename to test/schemas/llm.schema/3.1/TemplateConstant.json diff --git a/test/schemas/llm/3.1/TemplateUnion.json b/test/schemas/llm.schema/3.1/TemplateUnion.json similarity index 100% rename from test/schemas/llm/3.1/TemplateUnion.json rename to test/schemas/llm.schema/3.1/TemplateUnion.json diff --git a/test/schemas/llm/3.1/ToJsonArray.json b/test/schemas/llm.schema/3.1/ToJsonArray.json similarity index 100% rename from test/schemas/llm/3.1/ToJsonArray.json rename to test/schemas/llm.schema/3.1/ToJsonArray.json diff --git a/test/schemas/llm/3.1/ToJsonAtomicSimple.json b/test/schemas/llm.schema/3.1/ToJsonAtomicSimple.json similarity index 100% rename from test/schemas/llm/3.1/ToJsonAtomicSimple.json rename to test/schemas/llm.schema/3.1/ToJsonAtomicSimple.json diff --git a/test/schemas/llm/3.1/ToJsonAtomicUnion.json b/test/schemas/llm.schema/3.1/ToJsonAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.1/ToJsonAtomicUnion.json rename to test/schemas/llm.schema/3.1/ToJsonAtomicUnion.json diff --git a/test/schemas/llm/3.1/ToJsonDouble.json b/test/schemas/llm.schema/3.1/ToJsonDouble.json similarity index 100% rename from test/schemas/llm/3.1/ToJsonDouble.json rename to test/schemas/llm.schema/3.1/ToJsonDouble.json diff --git a/test/schemas/llm/3.1/ToJsonNull.json b/test/schemas/llm.schema/3.1/ToJsonNull.json similarity index 100% rename from test/schemas/llm/3.1/ToJsonNull.json rename to test/schemas/llm.schema/3.1/ToJsonNull.json diff --git a/test/schemas/llm/3.1/ToJsonTuple.json b/test/schemas/llm.schema/3.1/ToJsonTuple.json similarity index 100% rename from test/schemas/llm/3.1/ToJsonTuple.json rename to test/schemas/llm.schema/3.1/ToJsonTuple.json diff --git a/test/schemas/llm/3.1/ToJsonUnion.json b/test/schemas/llm.schema/3.1/ToJsonUnion.json similarity index 100% rename from test/schemas/llm/3.1/ToJsonUnion.json rename to test/schemas/llm.schema/3.1/ToJsonUnion.json diff --git a/test/schemas/llm/3.1/TupleHierarchical.json b/test/schemas/llm.schema/3.1/TupleHierarchical.json similarity index 100% rename from test/schemas/llm/3.1/TupleHierarchical.json rename to test/schemas/llm.schema/3.1/TupleHierarchical.json diff --git a/test/schemas/llm/3.1/TupleRestArray.json b/test/schemas/llm.schema/3.1/TupleRestArray.json similarity index 100% rename from test/schemas/llm/3.1/TupleRestArray.json rename to test/schemas/llm.schema/3.1/TupleRestArray.json diff --git a/test/schemas/llm/3.1/TupleRestAtomic.json b/test/schemas/llm.schema/3.1/TupleRestAtomic.json similarity index 100% rename from test/schemas/llm/3.1/TupleRestAtomic.json rename to test/schemas/llm.schema/3.1/TupleRestAtomic.json diff --git a/test/schemas/llm/3.1/TupleRestObject.json b/test/schemas/llm.schema/3.1/TupleRestObject.json similarity index 100% rename from test/schemas/llm/3.1/TupleRestObject.json rename to test/schemas/llm.schema/3.1/TupleRestObject.json diff --git a/test/schemas/llm/3.1/TypeTagArray.json b/test/schemas/llm.schema/3.1/TypeTagArray.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagArray.json rename to test/schemas/llm.schema/3.1/TypeTagArray.json diff --git a/test/schemas/llm/3.1/TypeTagArrayUnion.json b/test/schemas/llm.schema/3.1/TypeTagArrayUnion.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagArrayUnion.json rename to test/schemas/llm.schema/3.1/TypeTagArrayUnion.json diff --git a/test/schemas/llm/3.1/TypeTagAtomicUnion.json b/test/schemas/llm.schema/3.1/TypeTagAtomicUnion.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagAtomicUnion.json rename to test/schemas/llm.schema/3.1/TypeTagAtomicUnion.json diff --git a/test/schemas/llm/3.1/TypeTagCustom.json b/test/schemas/llm.schema/3.1/TypeTagCustom.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagCustom.json rename to test/schemas/llm.schema/3.1/TypeTagCustom.json diff --git a/test/schemas/llm/3.1/TypeTagDefault.json b/test/schemas/llm.schema/3.1/TypeTagDefault.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagDefault.json rename to test/schemas/llm.schema/3.1/TypeTagDefault.json diff --git a/test/schemas/llm/3.1/TypeTagFormat.json b/test/schemas/llm.schema/3.1/TypeTagFormat.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagFormat.json rename to test/schemas/llm.schema/3.1/TypeTagFormat.json diff --git a/test/schemas/llm/3.1/TypeTagLength.json b/test/schemas/llm.schema/3.1/TypeTagLength.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagLength.json rename to test/schemas/llm.schema/3.1/TypeTagLength.json diff --git a/test/schemas/llm/3.1/TypeTagMatrix.json b/test/schemas/llm.schema/3.1/TypeTagMatrix.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagMatrix.json rename to test/schemas/llm.schema/3.1/TypeTagMatrix.json diff --git a/test/schemas/llm/3.1/TypeTagObjectUnion.json b/test/schemas/llm.schema/3.1/TypeTagObjectUnion.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagObjectUnion.json rename to test/schemas/llm.schema/3.1/TypeTagObjectUnion.json diff --git a/test/schemas/llm/3.1/TypeTagPattern.json b/test/schemas/llm.schema/3.1/TypeTagPattern.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagPattern.json rename to test/schemas/llm.schema/3.1/TypeTagPattern.json diff --git a/test/schemas/llm/3.1/TypeTagRange.json b/test/schemas/llm.schema/3.1/TypeTagRange.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagRange.json rename to test/schemas/llm.schema/3.1/TypeTagRange.json diff --git a/test/schemas/llm/3.1/TypeTagTuple.json b/test/schemas/llm.schema/3.1/TypeTagTuple.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagTuple.json rename to test/schemas/llm.schema/3.1/TypeTagTuple.json diff --git a/test/schemas/llm/3.1/TypeTagType.json b/test/schemas/llm.schema/3.1/TypeTagType.json similarity index 100% rename from test/schemas/llm/3.1/TypeTagType.json rename to test/schemas/llm.schema/3.1/TypeTagType.json diff --git a/test/schemas/llm.schema/chatgpt/ArrayAny.json b/test/schemas/llm.schema/chatgpt/ArrayAny.json new file mode 100644 index 0000000000..d7db47c0a9 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayAny.json @@ -0,0 +1,88 @@ +{ + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "nullables2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both1": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both2": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "both3": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array", + "items": {} + } + ] + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "undefindable1", + "undefindable2", + "nullables1", + "nullables2", + "both1", + "both2", + "both3", + "union" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ArrayHierarchical.json b/test/schemas/llm.schema/chatgpt/ArrayHierarchical.json similarity index 100% rename from test/schemas/llm/gemini/ArrayHierarchical.json rename to test/schemas/llm.schema/chatgpt/ArrayHierarchical.json diff --git a/test/schemas/llm/gemini/ArrayHierarchicalPointer.json b/test/schemas/llm.schema/chatgpt/ArrayHierarchicalPointer.json similarity index 100% rename from test/schemas/llm/gemini/ArrayHierarchicalPointer.json rename to test/schemas/llm.schema/chatgpt/ArrayHierarchicalPointer.json diff --git a/test/schemas/llm/gemini/ArrayMatrix.json b/test/schemas/llm.schema/chatgpt/ArrayMatrix.json similarity index 100% rename from test/schemas/llm/gemini/ArrayMatrix.json rename to test/schemas/llm.schema/chatgpt/ArrayMatrix.json diff --git a/test/schemas/llm.schema/chatgpt/ArrayRecursive.json b/test/schemas/llm.schema/chatgpt/ArrayRecursive.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayRecursive.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionExplicit.json b/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionExplicit.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionExplicit.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionExplicitPointer.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionExplicitPointer.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionImplicit.json b/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionImplicit.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayRecursiveUnionImplicit.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ArrayRepeatedNullable.json b/test/schemas/llm.schema/chatgpt/ArrayRepeatedNullable.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayRepeatedNullable.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ArrayRepeatedRequired.json b/test/schemas/llm.schema/chatgpt/ArrayRepeatedRequired.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayRepeatedRequired.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ArrayRepeatedUnion.json b/test/schemas/llm.schema/chatgpt/ArrayRepeatedUnion.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayRepeatedUnion.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ArraySimple.json b/test/schemas/llm.schema/chatgpt/ArraySimple.json similarity index 100% rename from test/schemas/llm/gemini/ArraySimple.json rename to test/schemas/llm.schema/chatgpt/ArraySimple.json diff --git a/test/schemas/llm.schema/chatgpt/ArrayUnion.json b/test/schemas/llm.schema/chatgpt/ArrayUnion.json new file mode 100644 index 0000000000..0abf2c43e0 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ArrayUnion.json @@ -0,0 +1,25 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/AtomicUnion.json b/test/schemas/llm.schema/chatgpt/AtomicUnion.json new file mode 100644 index 0000000000..aeee926dcc --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/AtomicUnion.json @@ -0,0 +1,19 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ClassGetter.json b/test/schemas/llm.schema/chatgpt/ClassGetter.json new file mode 100644 index 0000000000..760b6801e4 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ClassGetter.json @@ -0,0 +1,27 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "name", + "dead" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ClassMethod.json b/test/schemas/llm.schema/chatgpt/ClassMethod.json similarity index 100% rename from test/schemas/llm/gemini/ClassMethod.json rename to test/schemas/llm.schema/chatgpt/ClassMethod.json diff --git a/test/schemas/llm/gemini/ClassPropertyAssignment.json b/test/schemas/llm.schema/chatgpt/ClassPropertyAssignment.json similarity index 100% rename from test/schemas/llm/gemini/ClassPropertyAssignment.json rename to test/schemas/llm.schema/chatgpt/ClassPropertyAssignment.json diff --git a/test/schemas/llm.schema/chatgpt/CommentTagArray.json b/test/schemas/llm.schema/chatgpt/CommentTagArray.json new file mode 100644 index 0000000000..60bf42a904 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagArray.json @@ -0,0 +1,60 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagArrayUnion.json b/test/schemas/llm.schema/chatgpt/CommentTagArrayUnion.json new file mode 100644 index 0000000000..05c2733352 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagArrayUnion.json @@ -0,0 +1,50 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagAtomicUnion.json b/test/schemas/llm.schema/chatgpt/CommentTagAtomicUnion.json new file mode 100644 index 0000000000..029aa00b5a --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagAtomicUnion.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagDefault.json b/test/schemas/llm.schema/chatgpt/CommentTagDefault.json new file mode 100644 index 0000000000..7399ef292a --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagDefault.json @@ -0,0 +1,119 @@ +{ + "type": "object", + "properties": { + "boolean": { + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value.", + "type": "boolean" + }, + "number": { + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value.", + "type": "number" + }, + "string": { + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value.", + "type": "string" + }, + "text": { + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters.", + "type": "string" + }, + "boolean_and_number_and_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "vulnerable_range": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.\n\n\n@minimum 3\n@maximum 5", + "type": "number" + }, + "boolean_and_number_and_template": { + "title": "Default value on union typed property", + "description": "Default value on union typed property.", + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagFormat.json b/test/schemas/llm.schema/chatgpt/CommentTagFormat.json new file mode 100644 index 0000000000..3f2924005b --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagFormat.json @@ -0,0 +1,118 @@ +{ + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagLength.json b/test/schemas/llm.schema/chatgpt/CommentTagLength.json new file mode 100644 index 0000000000..0e4d254b05 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagLength.json @@ -0,0 +1,45 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagObjectUnion.json b/test/schemas/llm.schema/chatgpt/CommentTagObjectUnion.json new file mode 100644 index 0000000000..4e1b1423a1 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagObjectUnion.json @@ -0,0 +1,33 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagPattern.json b/test/schemas/llm.schema/chatgpt/CommentTagPattern.json new file mode 100644 index 0000000000..063607b08c --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagPattern.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "uuid": { + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagRange.json b/test/schemas/llm.schema/chatgpt/CommentTagRange.json new file mode 100644 index 0000000000..9d3a2711fc --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagRange.json @@ -0,0 +1,65 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/CommentTagType.json b/test/schemas/llm.schema/chatgpt/CommentTagType.json new file mode 100644 index 0000000000..0d258fae85 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/CommentTagType.json @@ -0,0 +1,52 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "title": "Integer value", + "description": "Integer value.", + "type": "integer" + }, + "uint": { + "title": "Unsigned integer value", + "description": "Unsigned integer value.", + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ConstantAtomicAbsorbed.json b/test/schemas/llm.schema/chatgpt/ConstantAtomicAbsorbed.json similarity index 100% rename from test/schemas/llm/gemini/ConstantAtomicAbsorbed.json rename to test/schemas/llm.schema/chatgpt/ConstantAtomicAbsorbed.json diff --git a/test/schemas/llm.schema/chatgpt/ConstantAtomicTagged.json b/test/schemas/llm.schema/chatgpt/ConstantAtomicTagged.json new file mode 100644 index 0000000000..5f8e35fa55 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ConstantAtomicTagged.json @@ -0,0 +1,31 @@ +{ + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string", + "enum": [ + "latest" + ] + }, + "age": { + "anyOf": [ + { + "type": "integer", + "description": "@maximum 100" + }, + { + "type": "number", + "enum": [ + -1 + ] + } + ] + } + }, + "required": [ + "id", + "age" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ConstantAtomicUnion.json b/test/schemas/llm.schema/chatgpt/ConstantAtomicUnion.json new file mode 100644 index 0000000000..3472ad8265 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ConstantAtomicUnion.json @@ -0,0 +1,42 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "required": [ + "key" + ], + "additionalProperties": false + }, + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ConstantConstEnumeration.json b/test/schemas/llm.schema/chatgpt/ConstantConstEnumeration.json new file mode 100644 index 0000000000..d09a752b12 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ConstantConstEnumeration.json @@ -0,0 +1,22 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ConstantEnumeration.json b/test/schemas/llm.schema/chatgpt/ConstantEnumeration.json new file mode 100644 index 0000000000..d09a752b12 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ConstantEnumeration.json @@ -0,0 +1,22 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicArray.json b/test/schemas/llm.schema/chatgpt/DynamicArray.json new file mode 100644 index 0000000000..8bab97d33d --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicArray.json @@ -0,0 +1,20 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicComposite.json b/test/schemas/llm.schema/chatgpt/DynamicComposite.json new file mode 100644 index 0000000000..438fc750b1 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicComposite.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/DynamicConstant.json b/test/schemas/llm.schema/chatgpt/DynamicConstant.json similarity index 100% rename from test/schemas/llm/gemini/DynamicConstant.json rename to test/schemas/llm.schema/chatgpt/DynamicConstant.json diff --git a/test/schemas/llm.schema/chatgpt/DynamicEnumeration.json b/test/schemas/llm.schema/chatgpt/DynamicEnumeration.json new file mode 100644 index 0000000000..c02d946f00 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicEnumeration.json @@ -0,0 +1,57 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "required": [ + "ar", + "zh-Hans", + "zh-Hant", + "en", + "fr", + "de", + "ja", + "ko", + "pt", + "ru" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicNever.json b/test/schemas/llm.schema/chatgpt/DynamicNever.json new file mode 100644 index 0000000000..811aba4a9b --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicNever.json @@ -0,0 +1,6 @@ +{ + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicSimple.json b/test/schemas/llm.schema/chatgpt/DynamicSimple.json new file mode 100644 index 0000000000..86e3f6b285 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicSimple.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicTemplate.json b/test/schemas/llm.schema/chatgpt/DynamicTemplate.json new file mode 100644 index 0000000000..9bbef8d16b --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicTemplate.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicTree.json b/test/schemas/llm.schema/chatgpt/DynamicTree.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicTree.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicUndefined.json b/test/schemas/llm.schema/chatgpt/DynamicUndefined.json new file mode 100644 index 0000000000..811aba4a9b --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicUndefined.json @@ -0,0 +1,6 @@ +{ + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/DynamicUnion.json b/test/schemas/llm.schema/chatgpt/DynamicUnion.json new file mode 100644 index 0000000000..6b1ce2ac08 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/DynamicUnion.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectAlias.json b/test/schemas/llm.schema/chatgpt/ObjectAlias.json new file mode 100644 index 0000000000..bab5f09560 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectAlias.json @@ -0,0 +1,74 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "male", + "female" + ] + } + ] + }, + "age": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "dead": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectDate.json b/test/schemas/llm.schema/chatgpt/ObjectDate.json new file mode 100644 index 0000000000..dc1f86ac5f --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectDate.json @@ -0,0 +1,68 @@ +{ + "type": "object", + "properties": { + "classDate": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "date": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date" + } + ] + }, + "datetime": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format date-time" + } + ] + }, + "time": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format time" + } + ] + }, + "duration": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string", + "description": "@format duration" + } + ] + } + }, + "required": [ + "classDate", + "date", + "datetime", + "time", + "duration" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectDescription.json b/test/schemas/llm.schema/chatgpt/ObjectDescription.json new file mode 100644 index 0000000000..b13f5d4d91 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectDescription.json @@ -0,0 +1,43 @@ +{ + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description.", + "type": "object", + "properties": { + "id": { + "title": "Primary Key", + "description": "Primary Key.\n\n\n@format uuid", + "type": "string" + }, + "deprecated": { + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam.", + "type": "boolean", + "deprecated": true + }, + "title": { + "title": "This is the title", + "description": "Title tag can replace the first line of the comment.", + "type": "string" + }, + "descriptions": { + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written.", + "type": "array", + "items": { + "type": "string" + } + }, + "newLine": { + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema.", + "type": "number" + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectDynamic.json b/test/schemas/llm.schema/chatgpt/ObjectDynamic.json new file mode 100644 index 0000000000..9bbef8d16b --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectDynamic.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectGenericAlias.json b/test/schemas/llm.schema/chatgpt/ObjectGenericAlias.json similarity index 100% rename from test/schemas/llm/gemini/ObjectGenericAlias.json rename to test/schemas/llm.schema/chatgpt/ObjectGenericAlias.json diff --git a/test/schemas/llm/gemini/ObjectGenericArray.json b/test/schemas/llm.schema/chatgpt/ObjectGenericArray.json similarity index 100% rename from test/schemas/llm/gemini/ObjectGenericArray.json rename to test/schemas/llm.schema/chatgpt/ObjectGenericArray.json diff --git a/test/schemas/llm.schema/chatgpt/ObjectGenericUnion.json b/test/schemas/llm.schema/chatgpt/ObjectGenericUnion.json new file mode 100644 index 0000000000..61c1ff5d70 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectGenericUnion.json @@ -0,0 +1,357 @@ +{ + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "extension", + "url" + ], + "additionalProperties": false + } + } + }, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ], + "additionalProperties": false + } + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectInternal.json b/test/schemas/llm.schema/chatgpt/ObjectInternal.json similarity index 100% rename from test/schemas/llm/gemini/ObjectInternal.json rename to test/schemas/llm.schema/chatgpt/ObjectInternal.json diff --git a/test/schemas/llm/gemini/ObjectIntersection.json b/test/schemas/llm.schema/chatgpt/ObjectIntersection.json similarity index 100% rename from test/schemas/llm/gemini/ObjectIntersection.json rename to test/schemas/llm.schema/chatgpt/ObjectIntersection.json diff --git a/test/schemas/llm.schema/chatgpt/ObjectJsonTag.json b/test/schemas/llm.schema/chatgpt/ObjectJsonTag.json new file mode 100644 index 0000000000..11c30a4716 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectJsonTag.json @@ -0,0 +1,31 @@ +{ + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "title": "Descripted property", + "description": "Descripted property.", + "type": "string" + }, + "title": { + "title": "something", + "description": "Titled property.", + "type": "string" + }, + "complicate_title": { + "title": "something weirdo with {@link something } tag", + "description": "Complicate title.", + "type": "string" + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectLiteralProperty.json b/test/schemas/llm.schema/chatgpt/ObjectLiteralProperty.json similarity index 100% rename from test/schemas/llm/gemini/ObjectLiteralProperty.json rename to test/schemas/llm.schema/chatgpt/ObjectLiteralProperty.json diff --git a/test/schemas/llm/chatgpt/ObjectLiteralType.json b/test/schemas/llm.schema/chatgpt/ObjectLiteralType.json similarity index 100% rename from test/schemas/llm/chatgpt/ObjectLiteralType.json rename to test/schemas/llm.schema/chatgpt/ObjectLiteralType.json diff --git a/test/schemas/llm.schema/chatgpt/ObjectNullable.json b/test/schemas/llm.schema/chatgpt/ObjectNullable.json new file mode 100644 index 0000000000..68a50e4d63 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectNullable.json @@ -0,0 +1,117 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + "brand": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "similar": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectOptional.json b/test/schemas/llm.schema/chatgpt/ObjectOptional.json new file mode 100644 index 0000000000..80ba12f320 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectOptional.json @@ -0,0 +1,24 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "email", + "sequence" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectPartial.json b/test/schemas/llm.schema/chatgpt/ObjectPartial.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectPartial.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectPartialAndRequired.json b/test/schemas/llm.schema/chatgpt/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectPartialAndRequired.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectPrimitive.json b/test/schemas/llm.schema/chatgpt/ObjectPrimitive.json similarity index 100% rename from test/schemas/llm/gemini/ObjectPrimitive.json rename to test/schemas/llm.schema/chatgpt/ObjectPrimitive.json diff --git a/test/schemas/llm.schema/chatgpt/ObjectRecursive.json b/test/schemas/llm.schema/chatgpt/ObjectRecursive.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectRecursive.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectRequired.json b/test/schemas/llm.schema/chatgpt/ObjectRequired.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectRequired.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectSimple.json b/test/schemas/llm.schema/chatgpt/ObjectSimple.json similarity index 100% rename from test/schemas/llm/gemini/ObjectSimple.json rename to test/schemas/llm.schema/chatgpt/ObjectSimple.json diff --git a/test/schemas/llm.schema/chatgpt/ObjectUndefined.json b/test/schemas/llm.schema/chatgpt/ObjectUndefined.json new file mode 100644 index 0000000000..67ef6bbd58 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUndefined.json @@ -0,0 +1,49 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "required": [ + "name", + "professor", + "classroom", + "grade", + "unknown" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectUnionComposite.json b/test/schemas/llm.schema/chatgpt/ObjectUnionComposite.json new file mode 100644 index 0000000000..8def112f98 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUnionComposite.json @@ -0,0 +1,371 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectUnionCompositePointer.json b/test/schemas/llm.schema/chatgpt/ObjectUnionCompositePointer.json new file mode 100644 index 0000000000..61a90652d5 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUnionCompositePointer.json @@ -0,0 +1,389 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + } + }, + "required": [ + "outer", + "inner" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + } + }, + "required": [ + "centroid", + "radius" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectUnionDouble.json b/test/schemas/llm.schema/chatgpt/ObjectUnionDouble.json new file mode 100644 index 0000000000..09d9839416 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUnionDouble.json @@ -0,0 +1,146 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "required": [ + "x" + ], + "additionalProperties": false + }, + "child": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "required": [ + "y" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value", + "child" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectUnionExplicit.json b/test/schemas/llm.schema/chatgpt/ObjectUnionExplicit.json new file mode 100644 index 0000000000..e250ca4f2e --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUnionExplicit.json @@ -0,0 +1,375 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectUnionExplicitPointer.json b/test/schemas/llm.schema/chatgpt/ObjectUnionExplicitPointer.json new file mode 100644 index 0000000000..086df4aa38 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUnionExplicitPointer.json @@ -0,0 +1,393 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "required": [ + "x", + "y", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "required": [ + "p1", + "p2", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "required": [ + "points", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + } + } + }, + "required": [ + "points" + ], + "additionalProperties": false + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "required": [ + "outer", + "inner", + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "additionalProperties": false + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "required": [ + "centroid", + "radius", + "type" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectUnionImplicit.json b/test/schemas/llm.schema/chatgpt/ObjectUnionImplicit.json new file mode 100644 index 0000000000..fe26e3c09f --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUnionImplicit.json @@ -0,0 +1,623 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "width", + "distance" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "width": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "height": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "p1", + "p2", + "p3", + "p4", + "width", + "height", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + } + }, + "length": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "points", + "length" + ], + "additionalProperties": false + } + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "outer", + "inner", + "area" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "x", + "y", + "slope" + ], + "additionalProperties": false + }, + "area": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + } + }, + "required": [ + "radius", + "centroid", + "area" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ObjectUnionNonPredictable.json b/test/schemas/llm.schema/chatgpt/ObjectUnionNonPredictable.json new file mode 100644 index 0000000000..f51ecca932 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ObjectUnionNonPredictable.json @@ -0,0 +1,97 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TemplateAtomic.json b/test/schemas/llm.schema/chatgpt/TemplateAtomic.json new file mode 100644 index 0000000000..5d0157198d --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TemplateAtomic.json @@ -0,0 +1,51 @@ +{ + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^(prefix_(.*))", + "type": "string" + }, + "postfix": { + "description": "@pattern ((.*)_postfix)$", + "type": "string" + }, + "middle_string": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_string_empty": { + "description": "@pattern ^(the_(.*)_value)$", + "type": "string" + }, + "middle_numeric": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$", + "type": "string" + }, + "email": { + "description": "@pattern ((.*)@(.*)\\.(.*))", + "type": "string" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TemplateConstant.json b/test/schemas/llm.schema/chatgpt/TemplateConstant.json similarity index 100% rename from test/schemas/llm/gemini/TemplateConstant.json rename to test/schemas/llm.schema/chatgpt/TemplateConstant.json diff --git a/test/schemas/llm.schema/chatgpt/TemplateUnion.json b/test/schemas/llm.schema/chatgpt/TemplateUnion.json new file mode 100644 index 0000000000..588eb89202 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TemplateUnion.json @@ -0,0 +1,70 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "description": "@pattern ^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$", + "type": "string" + }, + "postfix": { + "description": "@pattern (((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$", + "type": "string" + }, + "middle": { + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "mixed": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/ToJsonAtomicUnion.json b/test/schemas/llm.schema/chatgpt/ToJsonAtomicUnion.json new file mode 100644 index 0000000000..aeee926dcc --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ToJsonAtomicUnion.json @@ -0,0 +1,19 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ToJsonDouble.json b/test/schemas/llm.schema/chatgpt/ToJsonDouble.json similarity index 100% rename from test/schemas/llm/gemini/ToJsonDouble.json rename to test/schemas/llm.schema/chatgpt/ToJsonDouble.json diff --git a/test/schemas/llm/chatgpt/ToJsonNull.json b/test/schemas/llm.schema/chatgpt/ToJsonNull.json similarity index 100% rename from test/schemas/llm/chatgpt/ToJsonNull.json rename to test/schemas/llm.schema/chatgpt/ToJsonNull.json diff --git a/test/schemas/llm.schema/chatgpt/ToJsonUnion.json b/test/schemas/llm.schema/chatgpt/ToJsonUnion.json new file mode 100644 index 0000000000..aba5de74c6 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/ToJsonUnion.json @@ -0,0 +1,76 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "brand", + "name" + ], + "additionalProperties": false + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "mobile", + "name" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagArray.json b/test/schemas/llm.schema/chatgpt/TypeTagArray.json new file mode 100644 index 0000000000..80b7c8323a --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagArray.json @@ -0,0 +1,64 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "equal": { + "description": "@minItems 10\n@maxItems 10", + "type": "array", + "items": { + "description": "@minimum 10\n@maximum 10", + "type": "number" + } + }, + "unique": { + "description": "@uniqueItems", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagArrayUnion.json b/test/schemas/llm.schema/chatgpt/TypeTagArrayUnion.json new file mode 100644 index 0000000000..727ecf9328 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagArrayUnion.json @@ -0,0 +1,55 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + }, + "minItems": { + "description": "@minItems 3", + "type": "array", + "items": { + "description": "@minimum 3", + "type": "number" + } + }, + "maxItems": { + "description": "@maxItems 7", + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "description": "@maxLength 7" + }, + { + "type": "number", + "description": "@maximum 7" + } + ] + } + }, + "both": { + "description": "@minItems 3\n@maxItems 7", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + }, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagAtomicUnion.json b/test/schemas/llm.schema/chatgpt/TypeTagAtomicUnion.json new file mode 100644 index 0000000000..029aa00b5a --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagAtomicUnion.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "anyOf": [ + { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + { + "type": "number", + "description": "@minimum 3" + } + ] + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagCustom.json b/test/schemas/llm.schema/chatgpt/TypeTagCustom.json new file mode 100644 index 0000000000..8f806b9c88 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagCustom.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "id": { + "description": "@format uuid", + "type": "string" + }, + "dollar": { + "x-typia-monetary": "dollar", + "type": "string" + }, + "postfix": { + "x-typia-postfix": "abcd", + "type": "string" + }, + "powerOf": { + "x-typia-powerOf": 2, + "type": "number" + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagDefault.json b/test/schemas/llm.schema/chatgpt/TypeTagDefault.json new file mode 100644 index 0000000000..20bea7d89a --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagDefault.json @@ -0,0 +1,103 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "anyOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "union_but_boolean": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "union_but_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "anyOf": [ + { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagFormat.json b/test/schemas/llm.schema/chatgpt/TypeTagFormat.json new file mode 100644 index 0000000000..3f2924005b --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagFormat.json @@ -0,0 +1,118 @@ +{ + "type": "object", + "properties": { + "byte": { + "description": "@format byte", + "type": "string" + }, + "password": { + "description": "@format password", + "type": "string" + }, + "regex": { + "description": "@format regex", + "type": "string" + }, + "uuid": { + "description": "@format uuid", + "type": "string" + }, + "email": { + "description": "@format email", + "type": "string" + }, + "hostname": { + "description": "@format hostname", + "type": "string" + }, + "idnEmail": { + "description": "@format idn-email", + "type": "string" + }, + "idnHostname": { + "description": "@format idn-hostname", + "type": "string" + }, + "iri": { + "description": "@format iri", + "type": "string" + }, + "iriReference": { + "description": "@format iri-reference", + "type": "string" + }, + "ipv4": { + "description": "@format ipv4", + "type": "string" + }, + "ipv6": { + "description": "@format ipv6", + "type": "string" + }, + "uri": { + "description": "@format uri", + "type": "string" + }, + "uriReference": { + "description": "@format uri-reference", + "type": "string" + }, + "uriTemplate": { + "description": "@format uri-template", + "type": "string" + }, + "url": { + "description": "@format url", + "type": "string" + }, + "datetime": { + "description": "@format date-time", + "type": "string" + }, + "date": { + "description": "@format date", + "type": "string" + }, + "time": { + "description": "@format time", + "type": "string" + }, + "duration": { + "description": "@format duration", + "type": "string" + }, + "jsonPointer": { + "description": "@format json-pointer", + "type": "string" + }, + "relativeJsonPointer": { + "description": "@format relative-json-pointer", + "type": "string" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagLength.json b/test/schemas/llm.schema/chatgpt/TypeTagLength.json new file mode 100644 index 0000000000..0e4d254b05 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagLength.json @@ -0,0 +1,45 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "description": "@minLength 5\n@maxLength 5", + "type": "string" + }, + "minimum": { + "description": "@minLength 3", + "type": "string" + }, + "maximum": { + "description": "@maxLength 7", + "type": "string" + }, + "minimum_and_maximum": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + }, + "equal": { + "description": "@minLength 10\n@maxLength 19", + "type": "string" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagMatrix.json b/test/schemas/llm.schema/chatgpt/TypeTagMatrix.json new file mode 100644 index 0000000000..5af79791ad --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagMatrix.json @@ -0,0 +1,21 @@ +{ + "type": "object", + "properties": { + "matrix": { + "description": "@minItems 3\n@maxItems 3", + "type": "array", + "items": { + "description": "@minItems 4\n@maxItems 4", + "type": "array", + "items": { + "description": "@format uuid", + "type": "string" + } + } + } + }, + "required": [ + "matrix" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagObjectUnion.json b/test/schemas/llm.schema/chatgpt/TypeTagObjectUnion.json new file mode 100644 index 0000000000..4e1b1423a1 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagObjectUnion.json @@ -0,0 +1,33 @@ +{ + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "value": { + "description": "@minimum 3", + "type": "number" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "description": "@minLength 3\n@maxLength 7", + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagPattern.json b/test/schemas/llm.schema/chatgpt/TypeTagPattern.json new file mode 100644 index 0000000000..b70028d281 --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagPattern.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "uuid": { + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$", + "type": "string" + }, + "email": { + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$", + "type": "string" + }, + "ipv4": { + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + }, + "ipv6": { + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", + "type": "string" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm.schema/chatgpt/TypeTagRange.json b/test/schemas/llm.schema/chatgpt/TypeTagRange.json new file mode 100644 index 0000000000..9d3a2711fc --- /dev/null +++ b/test/schemas/llm.schema/chatgpt/TypeTagRange.json @@ -0,0 +1,65 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "description": "@minimum 3\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal": { + "description": "@minimum 3", + "type": "integer" + }, + "less": { + "description": "@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "less_equal": { + "description": "@maximum 7", + "type": "integer" + }, + "greater_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_equal_less": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true", + "type": "integer" + }, + "greater_less_equal": { + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true", + "type": "integer" + }, + "greater_equal_less_equal": { + "description": "@minimum 3\n@maximum 7", + "type": "integer" + }, + "equal": { + "description": "@minimum 10\n@maximum 10", + "type": "integer" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ], + "additionalProperties": false + } + } + }, + "required": [ + "value" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagType.json b/test/schemas/llm.schema/chatgpt/TypeTagType.json similarity index 100% rename from test/schemas/llm/gemini/TypeTagType.json rename to test/schemas/llm.schema/chatgpt/TypeTagType.json diff --git a/test/schemas/llm.schema/gemini/ArrayAny.json b/test/schemas/llm.schema/gemini/ArrayAny.json new file mode 100644 index 0000000000..a5a8b1316a --- /dev/null +++ b/test/schemas/llm.schema/gemini/ArrayAny.json @@ -0,0 +1,52 @@ +{ + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ArrayHierarchical.json b/test/schemas/llm.schema/gemini/ArrayHierarchical.json new file mode 100644 index 0000000000..f160010dd9 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ArrayHierarchical.json @@ -0,0 +1,120 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ArrayHierarchicalPointer.json b/test/schemas/llm.schema/gemini/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..c08fac851b --- /dev/null +++ b/test/schemas/llm.schema/gemini/ArrayHierarchicalPointer.json @@ -0,0 +1,128 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ArrayMatrix.json b/test/schemas/llm.schema/gemini/ArrayMatrix.json new file mode 100644 index 0000000000..b71a8043df --- /dev/null +++ b/test/schemas/llm.schema/gemini/ArrayMatrix.json @@ -0,0 +1,12 @@ +{ + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ArrayRecursive.json b/test/schemas/llm.schema/gemini/ArrayRecursive.json new file mode 100644 index 0000000000..17e6c19fa7 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ArrayRecursive.json @@ -0,0 +1,158 @@ +{ + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": {}, + "description": "@maxItems 0" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] + } + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "children", + "id", + "code", + "sequence", + "created_at" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ArraySimple.json b/test/schemas/llm.schema/gemini/ArraySimple.json new file mode 100644 index 0000000000..442ef4ec78 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ArraySimple.json @@ -0,0 +1,41 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "required": [ + "name", + "email", + "hobbies" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ClassGetter.json b/test/schemas/llm.schema/gemini/ClassGetter.json new file mode 100644 index 0000000000..9e8c9a7df0 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ClassGetter.json @@ -0,0 +1,20 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "required": [ + "id", + "name", + "dead" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ClassMethod.json b/test/schemas/llm.schema/gemini/ClassMethod.json new file mode 100644 index 0000000000..97f1e16a0e --- /dev/null +++ b/test/schemas/llm.schema/gemini/ClassMethod.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ClassPropertyAssignment.json b/test/schemas/llm.schema/gemini/ClassPropertyAssignment.json new file mode 100644 index 0000000000..383d0818bc --- /dev/null +++ b/test/schemas/llm.schema/gemini/ClassPropertyAssignment.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/CommentTagArray.json b/test/schemas/llm.schema/gemini/CommentTagArray.json new file mode 100644 index 0000000000..1ec6025f01 --- /dev/null +++ b/test/schemas/llm.schema/gemini/CommentTagArray.json @@ -0,0 +1,58 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/CommentTagFormat.json b/test/schemas/llm.schema/gemini/CommentTagFormat.json new file mode 100644 index 0000000000..29531c14fe --- /dev/null +++ b/test/schemas/llm.schema/gemini/CommentTagFormat.json @@ -0,0 +1,117 @@ +{ + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/CommentTagLength.json b/test/schemas/llm.schema/gemini/CommentTagLength.json new file mode 100644 index 0000000000..26be3cc2d4 --- /dev/null +++ b/test/schemas/llm.schema/gemini/CommentTagLength.json @@ -0,0 +1,43 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/CommentTagPattern.json b/test/schemas/llm.schema/gemini/CommentTagPattern.json new file mode 100644 index 0000000000..e4c21a31fb --- /dev/null +++ b/test/schemas/llm.schema/gemini/CommentTagPattern.json @@ -0,0 +1,27 @@ +{ + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/CommentTagRange.json b/test/schemas/llm.schema/gemini/CommentTagRange.json new file mode 100644 index 0000000000..9e68d62770 --- /dev/null +++ b/test/schemas/llm.schema/gemini/CommentTagRange.json @@ -0,0 +1,63 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/CommentTagType.json b/test/schemas/llm.schema/gemini/CommentTagType.json new file mode 100644 index 0000000000..8c2a924448 --- /dev/null +++ b/test/schemas/llm.schema/gemini/CommentTagType.json @@ -0,0 +1,48 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ConstantAtomicAbsorbed.json b/test/schemas/llm.schema/gemini/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..258b28561f --- /dev/null +++ b/test/schemas/llm.schema/gemini/ConstantAtomicAbsorbed.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "required": [ + "id", + "age" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/DynamicArray.json b/test/schemas/llm.schema/gemini/DynamicArray.json new file mode 100644 index 0000000000..801d11a910 --- /dev/null +++ b/test/schemas/llm.schema/gemini/DynamicArray.json @@ -0,0 +1,12 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/DynamicConstant.json b/test/schemas/llm.schema/gemini/DynamicConstant.json new file mode 100644 index 0000000000..1595a33697 --- /dev/null +++ b/test/schemas/llm.schema/gemini/DynamicConstant.json @@ -0,0 +1,31 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/DynamicEnumeration.json b/test/schemas/llm.schema/gemini/DynamicEnumeration.json new file mode 100644 index 0000000000..bb41bf2af2 --- /dev/null +++ b/test/schemas/llm.schema/gemini/DynamicEnumeration.json @@ -0,0 +1,43 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/DynamicNever.json b/test/schemas/llm.schema/gemini/DynamicNever.json new file mode 100644 index 0000000000..1c9e43ac02 --- /dev/null +++ b/test/schemas/llm.schema/gemini/DynamicNever.json @@ -0,0 +1,4 @@ +{ + "type": "object", + "properties": {} +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/DynamicSimple.json b/test/schemas/llm.schema/gemini/DynamicSimple.json new file mode 100644 index 0000000000..801d11a910 --- /dev/null +++ b/test/schemas/llm.schema/gemini/DynamicSimple.json @@ -0,0 +1,12 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {} + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/DynamicTree.json b/test/schemas/llm.schema/gemini/DynamicTree.json new file mode 100644 index 0000000000..57b69a2257 --- /dev/null +++ b/test/schemas/llm.schema/gemini/DynamicTree.json @@ -0,0 +1,21 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "children": { + "type": "object", + "properties": {}, + "description": "Construct a type with a set of properties K of type T" + } + }, + "required": [ + "id", + "sequence", + "children" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/DynamicUndefined.json b/test/schemas/llm.schema/gemini/DynamicUndefined.json new file mode 100644 index 0000000000..1c9e43ac02 --- /dev/null +++ b/test/schemas/llm.schema/gemini/DynamicUndefined.json @@ -0,0 +1,4 @@ +{ + "type": "object", + "properties": {} +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectDate.json b/test/schemas/llm.schema/gemini/ObjectDate.json new file mode 100644 index 0000000000..034921ad0c --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectDate.json @@ -0,0 +1,36 @@ +{ + "type": "object", + "properties": { + "classDate": { + "type": "string", + "description": "@format date-time", + "nullable": true + }, + "date": { + "type": "string", + "nullable": true, + "description": "@format date" + }, + "datetime": { + "type": "string", + "nullable": true, + "description": "@format date-time" + }, + "time": { + "type": "string", + "nullable": true, + "description": "@format time" + }, + "duration": { + "type": "string", + "nullable": true, + "description": "@format duration" + } + }, + "required": [ + "date", + "datetime", + "time", + "duration" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectDescription.json b/test/schemas/llm.schema/gemini/ObjectDescription.json new file mode 100644 index 0000000000..68b39400d2 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectDescription.json @@ -0,0 +1,36 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Primary Key.\n\n\n@format uuid" + }, + "deprecated": { + "type": "boolean", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "description": "This is the title\n\nTitle tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "description": "This is the title of object type\n\nAn interface designed to test JSON schema's object description." +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectGenericAlias.json b/test/schemas/llm.schema/gemini/ObjectGenericAlias.json new file mode 100644 index 0000000000..18d298ead1 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectGenericAlias.json @@ -0,0 +1,11 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectGenericArray.json b/test/schemas/llm.schema/gemini/ObjectGenericArray.json new file mode 100644 index 0000000000..f6c6a35aa5 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectGenericArray.json @@ -0,0 +1,50 @@ +{ + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "name", + "age" + ] + } + } + }, + "required": [ + "pagination", + "data" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectInternal.json b/test/schemas/llm.schema/gemini/ObjectInternal.json new file mode 100644 index 0000000000..7dc4990cb7 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectInternal.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectIntersection.json b/test/schemas/llm.schema/gemini/ObjectIntersection.json new file mode 100644 index 0000000000..d70f237e86 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectIntersection.json @@ -0,0 +1,19 @@ +{ + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "required": [ + "email", + "name", + "vulnerable" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectJsonTag.json b/test/schemas/llm.schema/gemini/ObjectJsonTag.json new file mode 100644 index 0000000000..5df1d046a0 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectJsonTag.json @@ -0,0 +1,27 @@ +{ + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Descripted property." + }, + "title": { + "type": "string", + "description": "something\n\nTitled property." + }, + "complicate_title": { + "type": "string", + "description": "something weirdo with {@link something } tag\n\nComplicate title." + } + }, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectLiteralProperty.json b/test/schemas/llm.schema/gemini/ObjectLiteralProperty.json new file mode 100644 index 0000000000..3b3771043d --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectLiteralProperty.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectLiteralType.json b/test/schemas/llm.schema/gemini/ObjectLiteralType.json new file mode 100644 index 0000000000..1a21bd5c4a --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectLiteralType.json @@ -0,0 +1,19 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "age" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectOptional.json b/test/schemas/llm.schema/gemini/ObjectOptional.json new file mode 100644 index 0000000000..f5bca2ec50 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectOptional.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectPartial.json b/test/schemas/llm.schema/gemini/ObjectPartial.json new file mode 100644 index 0000000000..265e1347ca --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectPartial.json @@ -0,0 +1,136 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "nullable": true + } + }, + "description": "Make all properties in T optional\n\n------------------------------\n\nDescription of the current {@link PartialObjectPartial.IBase} type:\n\n> Make all properties in T optional" +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectPartialAndRequired.json b/test/schemas/llm.schema/gemini/ObjectPartialAndRequired.json new file mode 100644 index 0000000000..c189136ef5 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectPartialAndRequired.json @@ -0,0 +1,102 @@ +{ + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "object", + "properties": { + "string": { + "type": "string" + }, + "number": { + "type": "number" + }, + "boolean": { + "type": "boolean" + }, + "object": { + "type": "null" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ], + "nullable": true + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "object", + "array" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectPrimitive.json b/test/schemas/llm.schema/gemini/ObjectPrimitive.json new file mode 100644 index 0000000000..ab745e1a62 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectPrimitive.json @@ -0,0 +1,67 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectRecursive.json b/test/schemas/llm.schema/gemini/ObjectRecursive.json new file mode 100644 index 0000000000..16097f5ddb --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectRecursive.json @@ -0,0 +1,166 @@ +{ + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "object", + "properties": { + "parent": { + "type": "null" + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ], + "nullable": true + }, + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "required": [ + "time", + "zone" + ] + } + }, + "required": [ + "parent", + "id", + "code", + "name", + "sequence", + "created_at" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectRequired.json b/test/schemas/llm.schema/gemini/ObjectRequired.json new file mode 100644 index 0000000000..15206f4265 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectRequired.json @@ -0,0 +1,115 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "object", + "properties": { + "boolean": { + "type": "boolean" + }, + "number": { + "type": "number" + }, + "string": { + "type": "string" + }, + "array": { + "type": "array", + "items": { + "type": "number" + } + }, + "object": { + "type": "null" + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "nullable": true + } + }, + "required": [ + "boolean", + "number", + "string", + "array", + "object" + ], + "description": "Make all properties in T required\n\n------------------------------\n\nDescription of the current {@link RequiredObjectRequired.IBase} type:\n\n> Make all properties in T required" +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ObjectSimple.json b/test/schemas/llm.schema/gemini/ObjectSimple.json new file mode 100644 index 0000000000..67548a8ed8 --- /dev/null +++ b/test/schemas/llm.schema/gemini/ObjectSimple.json @@ -0,0 +1,87 @@ +{ + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "z" + ] + } + }, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TemplateAtomic.json b/test/schemas/llm.schema/gemini/TemplateAtomic.json new file mode 100644 index 0000000000..9b683b6898 --- /dev/null +++ b/test/schemas/llm.schema/gemini/TemplateAtomic.json @@ -0,0 +1,50 @@ +{ + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "@pattern ^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "description": "@pattern ((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "description": "@pattern ^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "description": "@pattern ^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "description": "@pattern ^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "description": "@pattern ((.*)@(.*)\\.(.*))" + } + }, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TemplateConstant.json b/test/schemas/llm.schema/gemini/TemplateConstant.json new file mode 100644 index 0000000000..df125c7461 --- /dev/null +++ b/test/schemas/llm.schema/gemini/TemplateConstant.json @@ -0,0 +1,51 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/ToJsonDouble.json b/test/schemas/llm.schema/gemini/ToJsonDouble.json new file mode 100644 index 0000000000..da3e14052b --- /dev/null +++ b/test/schemas/llm.schema/gemini/ToJsonDouble.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "required": [ + "id", + "flag" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ToJsonNull.json b/test/schemas/llm.schema/gemini/ToJsonNull.json similarity index 100% rename from test/schemas/llm/gemini/ToJsonNull.json rename to test/schemas/llm.schema/gemini/ToJsonNull.json diff --git a/test/schemas/llm.schema/gemini/TypeTagArray.json b/test/schemas/llm.schema/gemini/TypeTagArray.json new file mode 100644 index 0000000000..c1f30ee8ca --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagArray.json @@ -0,0 +1,62 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 3" + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 3" + }, + "description": "@minItems 3" + }, + "both": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 3\n@maxItems 7" + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "description": "@minimum 10\n@maximum 10" + }, + "description": "@minItems 10\n@maxItems 10" + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "description": "@uniqueItems" + } + }, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TypeTagCustom.json b/test/schemas/llm.schema/gemini/TypeTagCustom.json new file mode 100644 index 0000000000..307f439dfb --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagCustom.json @@ -0,0 +1,27 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "@format uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TypeTagFormat.json b/test/schemas/llm.schema/gemini/TypeTagFormat.json new file mode 100644 index 0000000000..29531c14fe --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagFormat.json @@ -0,0 +1,117 @@ +{ + "type": "object", + "properties": { + "byte": { + "type": "string", + "description": "@format byte" + }, + "password": { + "type": "string", + "description": "@format password" + }, + "regex": { + "type": "string", + "description": "@format regex" + }, + "uuid": { + "type": "string", + "description": "@format uuid" + }, + "email": { + "type": "string", + "description": "@format email" + }, + "hostname": { + "type": "string", + "description": "@format hostname" + }, + "idnEmail": { + "type": "string", + "description": "@format idn-email" + }, + "idnHostname": { + "type": "string", + "description": "@format idn-hostname" + }, + "iri": { + "type": "string", + "description": "@format iri" + }, + "iriReference": { + "type": "string", + "description": "@format iri-reference" + }, + "ipv4": { + "type": "string", + "description": "@format ipv4" + }, + "ipv6": { + "type": "string", + "description": "@format ipv6" + }, + "uri": { + "type": "string", + "description": "@format uri" + }, + "uriReference": { + "type": "string", + "description": "@format uri-reference" + }, + "uriTemplate": { + "type": "string", + "description": "@format uri-template" + }, + "url": { + "type": "string", + "description": "@format url" + }, + "datetime": { + "type": "string", + "description": "@format date-time" + }, + "date": { + "type": "string", + "description": "@format date" + }, + "time": { + "type": "string", + "description": "@format time" + }, + "duration": { + "type": "string", + "description": "@format duration" + }, + "jsonPointer": { + "type": "string", + "description": "@format json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "description": "@format relative-json-pointer" + } + }, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TypeTagLength.json b/test/schemas/llm.schema/gemini/TypeTagLength.json new file mode 100644 index 0000000000..26be3cc2d4 --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagLength.json @@ -0,0 +1,43 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "description": "@minLength 5\n@maxLength 5" + }, + "minimum": { + "type": "string", + "description": "@minLength 3" + }, + "maximum": { + "type": "string", + "description": "@maxLength 7" + }, + "minimum_and_maximum": { + "type": "string", + "description": "@minLength 3\n@maxLength 7" + }, + "equal": { + "type": "string", + "description": "@minLength 10\n@maxLength 19" + } + }, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TypeTagMatrix.json b/test/schemas/llm.schema/gemini/TypeTagMatrix.json new file mode 100644 index 0000000000..3f5efda801 --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagMatrix.json @@ -0,0 +1,20 @@ +{ + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "description": "@format uuid" + }, + "description": "@minItems 4\n@maxItems 4" + }, + "description": "@minItems 3\n@maxItems 3" + } + }, + "required": [ + "matrix" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TypeTagPattern.json b/test/schemas/llm.schema/gemini/TypeTagPattern.json new file mode 100644 index 0000000000..366e567a42 --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagPattern.json @@ -0,0 +1,27 @@ +{ + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "@pattern ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "description": "@pattern ^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "description": "@pattern ^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "description": "@pattern ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TypeTagRange.json b/test/schemas/llm.schema/gemini/TypeTagRange.json new file mode 100644 index 0000000000..9e68d62770 --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagRange.json @@ -0,0 +1,63 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "description": "@minimum 3\n@exclusiveMinimum true" + }, + "greater_equal": { + "type": "integer", + "description": "@minimum 3" + }, + "less": { + "type": "integer", + "description": "@maximum 7\n@exclusiveMaximum true" + }, + "less_equal": { + "type": "integer", + "description": "@maximum 7" + }, + "greater_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true\n@exclusiveMaximum true" + }, + "greater_equal_less": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMaximum true" + }, + "greater_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7\n@exclusiveMinimum true" + }, + "greater_equal_less_equal": { + "type": "integer", + "description": "@minimum 3\n@maximum 7" + }, + "equal": { + "type": "integer", + "description": "@minimum 10\n@maximum 10" + } + }, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm.schema/gemini/TypeTagType.json b/test/schemas/llm.schema/gemini/TypeTagType.json new file mode 100644 index 0000000000..e5bccc37bb --- /dev/null +++ b/test/schemas/llm.schema/gemini/TypeTagType.json @@ -0,0 +1,46 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/3.0/ConstantAtomicSimple.json b/test/schemas/llm/3.0/ConstantAtomicSimple.json deleted file mode 100644 index 031d320b2c..0000000000 --- a/test/schemas/llm/3.0/ConstantAtomicSimple.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean", - "enum": [ - false, - true - ] - }, - { - "type": "number", - "enum": [ - 2 - ] - }, - { - "type": "string", - "enum": [ - "three" - ] - } - ] - }, - "minItems": 4, - "maxItems": 4 -} \ No newline at end of file diff --git a/test/schemas/llm/3.0/TupleHierarchical.json b/test/schemas/llm/3.0/TupleHierarchical.json deleted file mode 100644 index d0cbf97175..0000000000 --- a/test/schemas/llm/3.0/TupleHierarchical.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean", - "nullable": true - }, - { - "type": "number", - "nullable": true - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean", - "nullable": true - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "string" - } - ] - }, - "minItems": 2, - "maxItems": 2 - } - ] - }, - "minItems": 2, - "maxItems": 2, - "nullable": true - } - ] - }, - "minItems": 3, - "maxItems": 3, - "nullable": true - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "string" - } - ] - }, - "minItems": 2, - "maxItems": 2 - } - ] - }, - "minItems": 3, - "maxItems": 3 - } - } - ] - }, - "minItems": 3, - "maxItems": 3 - } - } - ] - }, - "minItems": 2, - "maxItems": 2, - "nullable": true - } - ] - }, - "minItems": 5, - "maxItems": 5 -} \ No newline at end of file diff --git a/test/schemas/llm/3.0/TupleRestArray.json b/test/schemas/llm/3.0/TupleRestArray.json deleted file mode 100644 index 82cd4e2539..0000000000 --- a/test/schemas/llm/3.0/TupleRestArray.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "minItems": 2, - "maxItems": 2 -} \ No newline at end of file diff --git a/test/schemas/llm/3.0/TupleRestAtomic.json b/test/schemas/llm/3.0/TupleRestAtomic.json deleted file mode 100644 index f7f2b00d92..0000000000 --- a/test/schemas/llm/3.0/TupleRestAtomic.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - } - ] - }, - "minItems": 2, - "maxItems": 2 -} \ No newline at end of file diff --git a/test/schemas/llm/3.0/TupleRestObject.json b/test/schemas/llm/3.0/TupleRestObject.json deleted file mode 100644 index 977cdc6136..0000000000 --- a/test/schemas/llm/3.0/TupleRestObject.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - ] - }, - "minItems": 2, - "maxItems": 2 -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayAny.json b/test/schemas/llm/chatgpt/ArrayAny.json deleted file mode 100644 index 344f9f0a9c..0000000000 --- a/test/schemas/llm/chatgpt/ArrayAny.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "$ref": "#/$defs/ArrayAny", - "$defs": { - "ArrayAny": { - "type": "object", - "properties": { - "anys": { - "type": "array", - "items": {} - }, - "undefindable1": { - "type": "array", - "items": {} - }, - "undefindable2": { - "type": "array", - "items": {} - }, - "nullables1": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array", - "items": {} - } - ] - }, - "nullables2": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array", - "items": {} - } - ] - }, - "both1": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array", - "items": {} - } - ] - }, - "both2": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array", - "items": {} - } - ] - }, - "both3": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "array", - "items": {} - } - ] - }, - "union": { - "type": "array", - "items": {} - } - }, - "required": [ - "anys", - "nullables1", - "nullables2", - "union" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayAtomicAlias.json b/test/schemas/llm/chatgpt/ArrayAtomicAlias.json deleted file mode 100644 index 37c4f55d95..0000000000 --- a/test/schemas/llm/chatgpt/ArrayAtomicAlias.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$ref": "#/$defs/ArrayAtomicAlias", - "$defs": { - "ArrayAtomicAlias": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/ArrayAtomicAlias.Aliasboolean" - }, - { - "$ref": "#/$defs/ArrayAtomicAlias.Aliasnumber" - }, - { - "$ref": "#/$defs/ArrayAtomicAlias.Aliasstring" - } - ], - "additionalItems": false - }, - "ArrayAtomicAlias.Aliasboolean": { - "type": "array", - "items": { - "type": "boolean" - } - }, - "ArrayAtomicAlias.Aliasnumber": { - "type": "array", - "items": { - "type": "number" - } - }, - "ArrayAtomicAlias.Aliasstring": { - "type": "array", - "items": { - "type": "string" - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayAtomicSimple.json b/test/schemas/llm/chatgpt/ArrayAtomicSimple.json deleted file mode 100644 index a99d61e716..0000000000 --- a/test/schemas/llm/chatgpt/ArrayAtomicSimple.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$ref": "#/$defs/ArrayAtomicSimple", - "$defs": { - "ArrayAtomicSimple": { - "type": "array", - "prefixItems": [ - { - "type": "array", - "items": { - "type": "boolean" - } - }, - { - "type": "array", - "items": { - "type": "number" - } - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ], - "additionalItems": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayHierarchical.json b/test/schemas/llm/chatgpt/ArrayHierarchical.json deleted file mode 100644 index b1ce365271..0000000000 --- a/test/schemas/llm/chatgpt/ArrayHierarchical.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "$ref": "#/$defs/ArrayHierarchical", - "$defs": { - "ArrayHierarchical": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayHierarchical.ICompany" - } - }, - "ArrayHierarchical.ICompany": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "serial": { - "type": "number" - }, - "name": { - "type": "string" - }, - "established_at": { - "$ref": "#/$defs/ArrayHierarchical.ITimestamp" - }, - "departments": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayHierarchical.IDepartment" - } - } - }, - "required": [ - "id", - "serial", - "name", - "established_at", - "departments" - ], - "additionalProperties": false - }, - "ArrayHierarchical.ITimestamp": { - "type": "object", - "properties": { - "time": { - "type": "number" - }, - "zone": { - "type": "number" - } - }, - "required": [ - "time", - "zone" - ], - "additionalProperties": false - }, - "ArrayHierarchical.IDepartment": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "code": { - "type": "string" - }, - "sales": { - "type": "number" - }, - "created_at": { - "$ref": "#/$defs/ArrayHierarchical.ITimestamp" - }, - "employees": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayHierarchical.IEmployee" - } - } - }, - "required": [ - "id", - "code", - "sales", - "created_at", - "employees" - ], - "additionalProperties": false - }, - "ArrayHierarchical.IEmployee": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "age": { - "type": "number" - }, - "grade": { - "type": "number" - }, - "employeed_at": { - "$ref": "#/$defs/ArrayHierarchical.ITimestamp" - } - }, - "required": [ - "id", - "name", - "age", - "grade", - "employeed_at" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayHierarchicalPointer.json b/test/schemas/llm/chatgpt/ArrayHierarchicalPointer.json deleted file mode 100644 index fe8d261bba..0000000000 --- a/test/schemas/llm/chatgpt/ArrayHierarchicalPointer.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "$ref": "#/$defs/ArrayHierarchicalPointer", - "$defs": { - "ArrayHierarchicalPointer": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayHierarchicalPointer.ICompany" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ArrayHierarchicalPointer.ICompany": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "serial": { - "type": "number" - }, - "name": { - "type": "string" - }, - "established_at": { - "$ref": "#/$defs/ArrayHierarchicalPointer.ITimestamp" - }, - "departments": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayHierarchicalPointer.IDepartment" - } - } - }, - "required": [ - "id", - "serial", - "name", - "established_at", - "departments" - ], - "additionalProperties": false - }, - "ArrayHierarchicalPointer.ITimestamp": { - "type": "object", - "properties": { - "time": { - "type": "number" - }, - "zone": { - "type": "number" - } - }, - "required": [ - "time", - "zone" - ], - "additionalProperties": false - }, - "ArrayHierarchicalPointer.IDepartment": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "code": { - "type": "string" - }, - "sales": { - "type": "number" - }, - "created_at": { - "$ref": "#/$defs/ArrayHierarchicalPointer.ITimestamp" - }, - "employees": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayHierarchicalPointer.IEmployee" - } - } - }, - "required": [ - "id", - "code", - "sales", - "created_at", - "employees" - ], - "additionalProperties": false - }, - "ArrayHierarchicalPointer.IEmployee": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "age": { - "type": "number" - }, - "grade": { - "type": "number" - }, - "employeed_at": { - "$ref": "#/$defs/ArrayHierarchicalPointer.ITimestamp" - } - }, - "required": [ - "id", - "name", - "age", - "grade", - "employeed_at" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayMatrix.json b/test/schemas/llm/chatgpt/ArrayMatrix.json deleted file mode 100644 index 910580b992..0000000000 --- a/test/schemas/llm/chatgpt/ArrayMatrix.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$ref": "#/$defs/ArrayMatrix", - "$defs": { - "ArrayMatrix": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number" - } - } - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRecursive.json b/test/schemas/llm/chatgpt/ArrayRecursive.json deleted file mode 100644 index 1a4a94735b..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRecursive.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRecursive.ICategory", - "$defs": { - "ArrayRecursive.ICategory": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursive.ICategory" - } - }, - "id": { - "type": "number" - }, - "code": { - "type": "string" - }, - "sequence": { - "type": "number" - }, - "created_at": { - "$ref": "#/$defs/ArrayRecursive.ITimestamp" - } - }, - "required": [ - "children", - "id", - "code", - "sequence", - "created_at" - ], - "additionalProperties": false - }, - "ArrayRecursive.ITimestamp": { - "type": "object", - "properties": { - "time": { - "type": "number" - }, - "zone": { - "type": "number" - } - }, - "required": [ - "time", - "zone" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRecursiveUnionExplicit.json b/test/schemas/llm/chatgpt/ArrayRecursiveUnionExplicit.json deleted file mode 100644 index d0ecf72657..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRecursiveUnionExplicit.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRecursiveUnionExplicit", - "$defs": { - "ArrayRecursiveUnionExplicit": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" - } - }, - "ArrayRecursiveUnionExplicit.IBucket": { - "oneOf": [ - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IDirectory" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IImageFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.ITextFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IZipFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IShortcut" - } - ] - }, - "ArrayRecursiveUnionExplicit.IDirectory": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" - } - }, - "type": { - "const": "directory" - } - }, - "required": [ - "id", - "name", - "path", - "children", - "type" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicit.IImageFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - }, - "url": { - "type": "string" - }, - "size": { - "type": "number" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "jpg" - } - }, - "required": [ - "id", - "name", - "path", - "width", - "height", - "url", - "size", - "type", - "extension" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicit.ITextFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "number" - }, - "content": { - "type": "string" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "txt" - } - }, - "required": [ - "id", - "name", - "path", - "size", - "content", - "type", - "extension" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicit.IZipFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "number" - }, - "count": { - "type": "number" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "zip" - } - }, - "required": [ - "id", - "name", - "path", - "size", - "count", - "type", - "extension" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicit.IShortcut": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "target": { - "$ref": "#/$defs/ArrayRecursiveUnionExplicit.IBucket" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "lnk" - } - }, - "required": [ - "id", - "name", - "path", - "target", - "type", - "extension" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/llm/chatgpt/ArrayRecursiveUnionExplicitPointer.json deleted file mode 100644 index 9a0107d854..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRecursiveUnionExplicitPointer.json +++ /dev/null @@ -1,227 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer", - "$defs": { - "ArrayRecursiveUnionExplicitPointer": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicitPointer.IBucket": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IDirectory" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IImageFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.ITextFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IZipFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IShortcut" - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicitPointer.IDirectory": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" - } - }, - "type": { - "const": "directory" - } - }, - "required": [ - "id", - "name", - "path", - "children", - "type" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicitPointer.IImageFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - }, - "url": { - "type": "string" - }, - "size": { - "type": "number" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "jpg" - } - }, - "required": [ - "id", - "name", - "path", - "width", - "height", - "url", - "size", - "type", - "extension" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicitPointer.ITextFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "number" - }, - "content": { - "type": "string" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "txt" - } - }, - "required": [ - "id", - "name", - "path", - "size", - "content", - "type", - "extension" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicitPointer.IZipFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "number" - }, - "count": { - "type": "number" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "zip" - } - }, - "required": [ - "id", - "name", - "path", - "size", - "count", - "type", - "extension" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionExplicitPointer.IShortcut": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "target": { - "$ref": "#/$defs/ArrayRecursiveUnionExplicitPointer.IBucket" - }, - "type": { - "const": "file" - }, - "extension": { - "const": "lnk" - } - }, - "required": [ - "id", - "name", - "path", - "target", - "type", - "extension" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRecursiveUnionImplicit.json b/test/schemas/llm/chatgpt/ArrayRecursiveUnionImplicit.json deleted file mode 100644 index 7440e8bdf0..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRecursiveUnionImplicit.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRecursiveUnionImplicit", - "$defs": { - "ArrayRecursiveUnionImplicit": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" - } - }, - "ArrayRecursiveUnionImplicit.IBucket": { - "oneOf": [ - { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IDirectory" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.ISharedDirectory" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IImageFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.ITextFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IZipFile" - }, - { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IShortcut" - } - ] - }, - "ArrayRecursiveUnionImplicit.IDirectory": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" - } - } - }, - "required": [ - "id", - "name", - "path", - "children" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionImplicit.ISharedDirectory": { - "type": "object", - "properties": { - "access": { - "oneOf": [ - { - "const": "read" - }, - { - "const": "write" - } - ] - }, - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" - } - } - }, - "required": [ - "access", - "id", - "name", - "path", - "children" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionImplicit.IImageFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - }, - "url": { - "type": "string" - }, - "size": { - "type": "number" - } - }, - "required": [ - "id", - "name", - "path", - "width", - "height", - "url", - "size" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionImplicit.ITextFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "number" - }, - "content": { - "type": "string" - } - }, - "required": [ - "id", - "name", - "path", - "size", - "content" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionImplicit.IZipFile": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "number" - }, - "count": { - "type": "number" - } - }, - "required": [ - "id", - "name", - "path", - "size", - "count" - ], - "additionalProperties": false - }, - "ArrayRecursiveUnionImplicit.IShortcut": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "target": { - "$ref": "#/$defs/ArrayRecursiveUnionImplicit.IBucket" - } - }, - "required": [ - "id", - "name", - "path", - "target" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRepeatedNullable.json b/test/schemas/llm/chatgpt/ArrayRepeatedNullable.json deleted file mode 100644 index 499cbde1c6..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRepeatedNullable.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRepeatedNullable", - "$defs": { - "ArrayRepeatedNullable": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/$defs/ArrayArrayRepeatedNullable" - } - ] - }, - "ArrayArrayRepeatedNullable": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRepeatedNullable" - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRepeatedRequired.json b/test/schemas/llm/chatgpt/ArrayRepeatedRequired.json deleted file mode 100644 index d9291e0de0..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRepeatedRequired.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRepeatedRequired", - "$defs": { - "ArrayRepeatedRequired": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/$defs/ArrayArrayRepeatedRequired" - } - ] - }, - "ArrayArrayRepeatedRequired": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRepeatedRequired" - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRepeatedUnion.json b/test/schemas/llm/chatgpt/ArrayRepeatedUnion.json deleted file mode 100644 index f0e001841c..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRepeatedUnion.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRepeatedUnion", - "$defs": { - "ArrayRepeatedUnion": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "#/$defs/ArrayArrayRepeatedUnion" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRepeatedUnion.IBox3D" - } - } - ] - }, - "ArrayArrayRepeatedUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRepeatedUnion" - } - }, - "ArrayRepeatedUnion.IBox3D": { - "type": "object", - "properties": { - "scale": { - "$ref": "#/$defs/ArrayRepeatedUnion.IPoint3D" - }, - "position": { - "$ref": "#/$defs/ArrayRepeatedUnion.IPoint3D" - }, - "rotate": { - "$ref": "#/$defs/ArrayRepeatedUnion.IPoint3D" - }, - "pivot": { - "$ref": "#/$defs/ArrayRepeatedUnion.IPoint3D" - } - }, - "required": [ - "scale", - "position", - "rotate", - "pivot" - ], - "additionalProperties": false - }, - "ArrayRepeatedUnion.IPoint3D": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - }, - "z": { - "type": "number" - } - }, - "required": [ - "x", - "y", - "z" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayRepeatedUnionWithTuple.json b/test/schemas/llm/chatgpt/ArrayRepeatedUnionWithTuple.json deleted file mode 100644 index 4e9f3ef5c0..0000000000 --- a/test/schemas/llm/chatgpt/ArrayRepeatedUnionWithTuple.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple", - "$defs": { - "ArrayRepeatedUnionWithTuple": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "#/$defs/ArrayArrayRepeatedUnionWithTuple" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple.IBox3D" - } - }, - { - "type": "array", - "prefixItems": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "additionalItems": false - }, - { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple.IBox3D" - }, - { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple.IPoint3D" - } - ], - "additionalItems": false - } - ] - }, - "ArrayArrayRepeatedUnionWithTuple": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple" - } - }, - "ArrayRepeatedUnionWithTuple.IBox3D": { - "type": "object", - "properties": { - "scale": { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple.IPoint3D" - }, - "position": { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple.IPoint3D" - }, - "rotate": { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple.IPoint3D" - }, - "pivot": { - "$ref": "#/$defs/ArrayRepeatedUnionWithTuple.IPoint3D" - } - }, - "required": [ - "scale", - "position", - "rotate", - "pivot" - ], - "additionalProperties": false - }, - "ArrayRepeatedUnionWithTuple.IPoint3D": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - }, - "z": { - "type": "number" - } - }, - "required": [ - "x", - "y", - "z" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArraySimple.json b/test/schemas/llm/chatgpt/ArraySimple.json deleted file mode 100644 index 7b8b1a121d..0000000000 --- a/test/schemas/llm/chatgpt/ArraySimple.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "$ref": "#/$defs/ArraySimple", - "$defs": { - "ArraySimple": { - "type": "array", - "items": { - "$ref": "#/$defs/ArraySimple.IPerson" - } - }, - "ArraySimple.IPerson": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "email": { - "type": "string" - }, - "hobbies": { - "type": "array", - "items": { - "$ref": "#/$defs/ArraySimple.IHobby" - } - } - }, - "required": [ - "name", - "email", - "hobbies" - ], - "additionalProperties": false - }, - "ArraySimple.IHobby": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "body": { - "type": "string" - }, - "rank": { - "type": "number" - } - }, - "required": [ - "name", - "body", - "rank" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ArrayUnion.json b/test/schemas/llm/chatgpt/ArrayUnion.json deleted file mode 100644 index 0597e1f1d4..0000000000 --- a/test/schemas/llm/chatgpt/ArrayUnion.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$ref": "#/$defs/ArrayUnion", - "$defs": { - "ArrayUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/ArrayUnion.IUnion" - } - }, - "ArrayUnion.IUnion": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "array", - "items": { - "type": "number" - } - }, - { - "type": "array", - "items": { - "type": "boolean" - } - } - ] - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/AtomicAlias.json b/test/schemas/llm/chatgpt/AtomicAlias.json deleted file mode 100644 index a82e55cbf9..0000000000 --- a/test/schemas/llm/chatgpt/AtomicAlias.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$ref": "#/$defs/AtomicAlias", - "$defs": { - "AtomicAlias": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - } - ], - "additionalItems": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/AtomicClass.json b/test/schemas/llm/chatgpt/AtomicClass.json deleted file mode 100644 index 165bca3e4b..0000000000 --- a/test/schemas/llm/chatgpt/AtomicClass.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$ref": "#/$defs/AtomicClass", - "$defs": { - "AtomicClass": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "boolean" - }, - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "string" - }, - { - "type": "string" - }, - { - "type": "string" - } - ], - "additionalItems": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/AtomicIntersection.json b/test/schemas/llm/chatgpt/AtomicIntersection.json deleted file mode 100644 index 6db6b1a19b..0000000000 --- a/test/schemas/llm/chatgpt/AtomicIntersection.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$ref": "#/$defs/AtomicIntersection", - "$defs": { - "AtomicIntersection": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/AtomicIntersection.Wrapperboolean" - }, - { - "$ref": "#/$defs/AtomicIntersection.Wrappernumber" - }, - { - "$ref": "#/$defs/AtomicIntersection.Wrapperstring" - } - ], - "additionalItems": false - }, - "AtomicIntersection.Wrapperboolean": { - "type": "boolean" - }, - "AtomicIntersection.Wrappernumber": { - "type": "number" - }, - "AtomicIntersection.Wrapperstring": { - "type": "string" - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/AtomicSimple.json b/test/schemas/llm/chatgpt/AtomicSimple.json deleted file mode 100644 index 9d787742dc..0000000000 --- a/test/schemas/llm/chatgpt/AtomicSimple.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$ref": "#/$defs/AtomicSimple", - "$defs": { - "AtomicSimple": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - } - ], - "additionalItems": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/AtomicUnion.json b/test/schemas/llm/chatgpt/AtomicUnion.json deleted file mode 100644 index 9f88a73e82..0000000000 --- a/test/schemas/llm/chatgpt/AtomicUnion.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$ref": "#/$defs/AtomicUnion", - "$defs": { - "AtomicUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/AtomicUnion.Union" - } - }, - "AtomicUnion.Union": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ClassGetter.json b/test/schemas/llm/chatgpt/ClassGetter.json deleted file mode 100644 index 742ca1ba79..0000000000 --- a/test/schemas/llm/chatgpt/ClassGetter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "$ref": "#/$defs/ClassGetter.Person", - "$defs": { - "ClassGetter.Person": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "dead": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "id", - "name", - "dead" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ClassMethod.json b/test/schemas/llm/chatgpt/ClassMethod.json deleted file mode 100644 index 8343b7ca5d..0000000000 --- a/test/schemas/llm/chatgpt/ClassMethod.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$ref": "#/$defs/ClassMethod.Animal", - "$defs": { - "ClassMethod.Animal": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "age": { - "type": "number" - } - }, - "required": [ - "name", - "age" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ClassPropertyAssignment.json b/test/schemas/llm/chatgpt/ClassPropertyAssignment.json deleted file mode 100644 index f0e5334dc9..0000000000 --- a/test/schemas/llm/chatgpt/ClassPropertyAssignment.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$ref": "#/$defs/ClassPropertyAssignment", - "$defs": { - "ClassPropertyAssignment": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "note": { - "const": "assignment" - }, - "editable": { - "const": false - }, - "incremental": { - "type": "boolean" - } - }, - "required": [ - "id", - "name", - "note", - "editable", - "incremental" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagArray.json b/test/schemas/llm/chatgpt/CommentTagArray.json deleted file mode 100644 index cf9c452e21..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagArray.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagArray", - "$defs": { - "CommentTagArray": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/CommentTagArray.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "CommentTagArray.Type": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 3, - "maxItems": 3 - }, - "minItems": { - "type": "array", - "items": { - "type": "number" - }, - "minItems": 3 - }, - "both": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 3, - "maxItems": 7 - }, - "equal": { - "type": "array", - "items": { - "type": "number" - }, - "minItems": 10, - "maxItems": 10 - }, - "unique": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "required": [ - "items", - "minItems", - "both", - "equal", - "unique" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagArrayUnion.json b/test/schemas/llm/chatgpt/CommentTagArrayUnion.json deleted file mode 100644 index 913e98c5d3..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagArrayUnion.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagArrayUnion", - "$defs": { - "CommentTagArrayUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/CommentTagArrayUnion.Type" - } - }, - "CommentTagArrayUnion.Type": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 3, - "maxItems": 3 - }, - "minItems": { - "type": "array", - "items": { - "type": "number" - }, - "minItems": 3 - }, - "maxItems": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "maxItems": 7 - }, - "both": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 3, - "maxItems": 7 - } - }, - "required": [ - "items", - "minItems", - "maxItems", - "both" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagAtomicUnion.json b/test/schemas/llm/chatgpt/CommentTagAtomicUnion.json deleted file mode 100644 index f87dd1d273..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagAtomicUnion.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagAtomicUnion", - "$defs": { - "CommentTagAtomicUnion": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/CommentTagAtomicUnion.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "CommentTagAtomicUnion.Type": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "string", - "minLength": 3, - "maxLength": 7 - }, - { - "type": "number", - "minimum": 3 - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagDefault.json b/test/schemas/llm/chatgpt/CommentTagDefault.json deleted file mode 100644 index 558c5087db..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagDefault.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagDefault", - "$defs": { - "CommentTagDefault": { - "type": "object", - "properties": { - "boolean": { - "type": "boolean", - "title": "Default tag on `boolean` typed value", - "description": "Default tag on `boolean` typed value." - }, - "number": { - "type": "number", - "title": "Default tag on `number` typed value", - "description": "Default tag on `number` typed value." - }, - "string": { - "type": "string", - "title": "Default tag on `string` typed value", - "description": "Default tag on `string` typed value." - }, - "text": { - "type": "string", - "title": "Default tag on `string` typed value with long characters", - "description": "Default tag on `string` typed value with long characters." - }, - "boolean_and_number_and_string": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "Default value on union typed property", - "description": "Default value on union typed property." - }, - "union_but_boolean": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "Default value on union typed property", - "description": "Default value on union typed property." - }, - "union_but_number": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "Default value on union typed property", - "description": "Default value on union typed property." - }, - "union_but_string": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "Default value on union typed property", - "description": "Default value on union typed property." - }, - "vulnerable_range": { - "type": "number", - "minimum": 3, - "maximum": 5, - "title": "Default value on union typed property", - "description": "Default value on union typed property." - }, - "boolean_and_number_and_template": { - "oneOf": [ - { - "type": "string", - "pattern": "^(prefix_(.*))" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "Default value on union typed property", - "description": "Default value on union typed property." - } - }, - "required": [ - "boolean", - "number", - "string", - "text", - "boolean_and_number_and_string", - "union_but_boolean", - "union_but_number", - "union_but_string", - "vulnerable_range", - "boolean_and_number_and_template" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagFormat.json b/test/schemas/llm/chatgpt/CommentTagFormat.json deleted file mode 100644 index e1995ff9d4..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagFormat.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagFormat", - "$defs": { - "CommentTagFormat": { - "type": "object", - "properties": { - "byte": { - "type": "string", - "format": "byte" - }, - "password": { - "type": "string", - "format": "password" - }, - "regex": { - "type": "string", - "format": "regex" - }, - "uuid": { - "type": "string", - "format": "uuid" - }, - "email": { - "type": "string", - "format": "email" - }, - "hostname": { - "type": "string", - "format": "hostname" - }, - "idnEmail": { - "type": "string", - "format": "idn-email" - }, - "idnHostname": { - "type": "string", - "format": "idn-hostname" - }, - "iri": { - "type": "string", - "format": "iri" - }, - "iriReference": { - "type": "string", - "format": "iri-reference" - }, - "ipv4": { - "type": "string", - "format": "ipv4" - }, - "ipv6": { - "type": "string", - "format": "ipv6" - }, - "uri": { - "type": "string", - "format": "uri" - }, - "uriReference": { - "type": "string", - "format": "uri-reference" - }, - "uriTemplate": { - "type": "string", - "format": "uri-template" - }, - "url": { - "type": "string", - "format": "url" - }, - "datetime": { - "type": "string", - "format": "date-time" - }, - "date": { - "type": "string", - "format": "date" - }, - "time": { - "type": "string", - "format": "time" - }, - "duration": { - "type": "string", - "format": "duration" - }, - "jsonPointer": { - "type": "string", - "format": "json-pointer" - }, - "relativeJsonPointer": { - "type": "string", - "format": "relative-json-pointer" - } - }, - "required": [ - "byte", - "password", - "regex", - "uuid", - "email", - "hostname", - "idnEmail", - "idnHostname", - "iri", - "iriReference", - "ipv4", - "ipv6", - "uri", - "uriReference", - "uriTemplate", - "url", - "datetime", - "date", - "time", - "duration", - "jsonPointer", - "relativeJsonPointer" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagLength.json b/test/schemas/llm/chatgpt/CommentTagLength.json deleted file mode 100644 index d573353cbd..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagLength.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagLength", - "$defs": { - "CommentTagLength": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/CommentTagLength.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "CommentTagLength.Type": { - "type": "object", - "properties": { - "fixed": { - "type": "string", - "minLength": 5, - "maxLength": 5 - }, - "minimum": { - "type": "string", - "minLength": 3 - }, - "maximum": { - "type": "string", - "maxLength": 7 - }, - "minimum_and_maximum": { - "type": "string", - "minLength": 3, - "maxLength": 7 - }, - "equal": { - "type": "string", - "minLength": 10, - "maxLength": 19 - } - }, - "required": [ - "fixed", - "minimum", - "maximum", - "minimum_and_maximum", - "equal" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagObjectUnion.json b/test/schemas/llm/chatgpt/CommentTagObjectUnion.json deleted file mode 100644 index 86fc02fd6a..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagObjectUnion.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagObjectUnion", - "$defs": { - "CommentTagObjectUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/CommentTagObjectUnion.Type" - } - }, - "CommentTagObjectUnion.Type": { - "oneOf": [ - { - "$ref": "#/$defs/CommentTagObjectUnion.Numeric" - }, - { - "$ref": "#/$defs/CommentTagObjectUnion.Literal" - } - ] - }, - "CommentTagObjectUnion.Numeric": { - "type": "object", - "properties": { - "value": { - "type": "number", - "minimum": 3 - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "CommentTagObjectUnion.Literal": { - "type": "object", - "properties": { - "value": { - "type": "string", - "minLength": 3, - "maxLength": 7 - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagPattern.json b/test/schemas/llm/chatgpt/CommentTagPattern.json deleted file mode 100644 index d51ad497c0..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagPattern.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagPattern", - "$defs": { - "CommentTagPattern": { - "type": "object", - "properties": { - "uuid": { - "type": "string", - "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" - }, - "email": { - "type": "string", - "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" - }, - "ipv4": { - "type": "string", - "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - }, - "ipv6": { - "type": "string", - "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" - } - }, - "required": [ - "uuid", - "email", - "ipv4", - "ipv6" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagRange.json b/test/schemas/llm/chatgpt/CommentTagRange.json deleted file mode 100644 index 2d6f14fd7e..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagRange.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagRange", - "$defs": { - "CommentTagRange": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/CommentTagRange.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "CommentTagRange.Type": { - "type": "object", - "properties": { - "greater": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3 - }, - "greater_equal": { - "type": "integer", - "minimum": 3 - }, - "less": { - "type": "integer", - "exclusiveMaximum": true, - "maximum": 7 - }, - "less_equal": { - "type": "integer", - "maximum": 7 - }, - "greater_less": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_equal_less": { - "type": "integer", - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_less_equal": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "maximum": 7 - }, - "greater_equal_less_equal": { - "type": "integer", - "minimum": 3, - "maximum": 7 - }, - "equal": { - "type": "integer", - "minimum": 10, - "maximum": 10 - } - }, - "required": [ - "greater", - "greater_equal", - "less", - "less_equal", - "greater_less", - "greater_equal_less", - "greater_less_equal", - "greater_equal_less_equal", - "equal" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/CommentTagType.json b/test/schemas/llm/chatgpt/CommentTagType.json deleted file mode 100644 index 617e2d3c41..0000000000 --- a/test/schemas/llm/chatgpt/CommentTagType.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "$ref": "#/$defs/CommentTagType", - "$defs": { - "CommentTagType": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/CommentTagType.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "CommentTagType.Type": { - "type": "object", - "properties": { - "int": { - "type": "integer", - "title": "Integer value", - "description": "Integer value." - }, - "uint": { - "type": "integer", - "title": "Unsigned integer value", - "description": "Unsigned integer value." - }, - "int32": { - "type": "integer" - }, - "uint32": { - "type": "integer" - }, - "int64": { - "type": "integer" - }, - "uint64": { - "type": "integer" - }, - "float": { - "type": "number" - } - }, - "required": [ - "int", - "uint", - "int32", - "uint32", - "int64", - "uint64", - "float" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantAtomicAbsorbed.json b/test/schemas/llm/chatgpt/ConstantAtomicAbsorbed.json deleted file mode 100644 index 86f2914a06..0000000000 --- a/test/schemas/llm/chatgpt/ConstantAtomicAbsorbed.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$ref": "#/$defs/ConstantAtomicAbsorbed", - "$defs": { - "ConstantAtomicAbsorbed": { - "type": "object", - "properties": { - "id": { - "type": "string", - "default": "something" - }, - "age": { - "type": "number", - "default": 20 - } - }, - "required": [ - "id", - "age" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantAtomicSimple.json b/test/schemas/llm/chatgpt/ConstantAtomicSimple.json deleted file mode 100644 index dec1154dd5..0000000000 --- a/test/schemas/llm/chatgpt/ConstantAtomicSimple.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$ref": "#/$defs/ConstantAtomicSimple", - "$defs": { - "ConstantAtomicSimple": { - "type": "array", - "prefixItems": [ - { - "const": false - }, - { - "const": true - }, - { - "const": 2 - }, - { - "const": "three" - } - ], - "additionalItems": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantAtomicTagged.json b/test/schemas/llm/chatgpt/ConstantAtomicTagged.json deleted file mode 100644 index 7e002e799b..0000000000 --- a/test/schemas/llm/chatgpt/ConstantAtomicTagged.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$ref": "#/$defs/ConstantAtomicTagged", - "$defs": { - "ConstantAtomicTagged": { - "type": "object", - "properties": { - "id": { - "oneOf": [ - { - "const": "latest" - }, - { - "type": "string", - "format": "uuid" - } - ] - }, - "age": { - "oneOf": [ - { - "const": -1 - }, - { - "type": "integer", - "maximum": 100 - } - ] - } - }, - "required": [ - "id", - "age" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantAtomicUnion.json b/test/schemas/llm/chatgpt/ConstantAtomicUnion.json deleted file mode 100644 index 17b8c91c5a..0000000000 --- a/test/schemas/llm/chatgpt/ConstantAtomicUnion.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$ref": "#/$defs/ConstantAtomicUnion", - "$defs": { - "ConstantAtomicUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/ConstantAtomicUnion.Union" - } - }, - "ConstantAtomicUnion.Union": { - "oneOf": [ - { - "const": false - }, - { - "const": 1 - }, - { - "const": 2 - }, - { - "const": "three" - }, - { - "const": "four" - }, - { - "type": "object", - "properties": { - "key": { - "const": "key" - } - }, - "required": [ - "key" - ], - "additionalProperties": false - } - ] - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantAtomicWrapper.json b/test/schemas/llm/chatgpt/ConstantAtomicWrapper.json deleted file mode 100644 index 2181d23061..0000000000 --- a/test/schemas/llm/chatgpt/ConstantAtomicWrapper.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "$ref": "#/$defs/ConstantAtomicWrapper", - "$defs": { - "ConstantAtomicWrapper": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/ConstantAtomicWrapper.IPointerboolean" - }, - { - "$ref": "#/$defs/ConstantAtomicWrapper.IPointernumber" - }, - { - "$ref": "#/$defs/ConstantAtomicWrapper.IPointerstring" - } - ], - "additionalItems": false - }, - "ConstantAtomicWrapper.IPointerboolean": { - "type": "object", - "properties": { - "value": { - "type": "boolean" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ConstantAtomicWrapper.IPointernumber": { - "type": "object", - "properties": { - "value": { - "type": "number" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ConstantAtomicWrapper.IPointerstring": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantConstEnumeration.json b/test/schemas/llm/chatgpt/ConstantConstEnumeration.json deleted file mode 100644 index aea9260473..0000000000 --- a/test/schemas/llm/chatgpt/ConstantConstEnumeration.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$ref": "#/$defs/ConstantConstEnumeration", - "$defs": { - "ConstantConstEnumeration": { - "type": "array", - "items": { - "$ref": "#/$defs/ConstantConstEnumeration.Enumeration" - } - }, - "ConstantConstEnumeration.Enumeration": { - "oneOf": [ - { - "const": 0 - }, - { - "const": 1 - }, - { - "const": 2 - }, - { - "const": "Three" - }, - { - "const": "Four" - } - ] - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantEnumeration.json b/test/schemas/llm/chatgpt/ConstantEnumeration.json deleted file mode 100644 index 6bfe52d664..0000000000 --- a/test/schemas/llm/chatgpt/ConstantEnumeration.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$ref": "#/$defs/ConstantEnumeration", - "$defs": { - "ConstantEnumeration": { - "type": "array", - "items": { - "$ref": "#/$defs/ConstantEnumeration.Enumeration" - } - }, - "ConstantEnumeration.Enumeration": { - "oneOf": [ - { - "const": 0 - }, - { - "const": 1 - }, - { - "const": 2 - }, - { - "const": "Three" - }, - { - "const": "Four" - } - ] - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ConstantIntersection.json b/test/schemas/llm/chatgpt/ConstantIntersection.json deleted file mode 100644 index 91166357c8..0000000000 --- a/test/schemas/llm/chatgpt/ConstantIntersection.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$ref": "#/$defs/ConstantIntersection", - "$defs": { - "ConstantIntersection": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/ConstantIntersection.Wrapperfalse" - }, - { - "$ref": "#/$defs/ConstantIntersection.Wrapper1" - }, - { - "$ref": "#/$defs/ConstantIntersection.Wrappertwo" - } - ], - "additionalItems": false - }, - "ConstantIntersection.Wrapperfalse": { - "const": false - }, - "ConstantIntersection.Wrapper1": { - "const": 1 - }, - "ConstantIntersection.Wrappertwo": { - "const": "two" - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicArray.json b/test/schemas/llm/chatgpt/DynamicArray.json deleted file mode 100644 index 7622d88045..0000000000 --- a/test/schemas/llm/chatgpt/DynamicArray.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$ref": "#/$defs/DynamicArray", - "$defs": { - "DynamicArray": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": {}, - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicComposite.json b/test/schemas/llm/chatgpt/DynamicComposite.json deleted file mode 100644 index ca7537ec06..0000000000 --- a/test/schemas/llm/chatgpt/DynamicComposite.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$ref": "#/$defs/DynamicComposite", - "$defs": { - "DynamicComposite": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ], - "additionalProperties": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "string" - }, - { - "type": "boolean" - } - ] - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicConstant.json b/test/schemas/llm/chatgpt/DynamicConstant.json deleted file mode 100644 index b06fdf8ddb..0000000000 --- a/test/schemas/llm/chatgpt/DynamicConstant.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$ref": "#/$defs/DynamicConstant", - "$defs": { - "DynamicConstant": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "a": { - "type": "number" - }, - "b": { - "type": "number" - }, - "c": { - "type": "number" - }, - "d": { - "type": "number" - } - }, - "required": [ - "a", - "b", - "c", - "d" - ], - "additionalProperties": false - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicEnumeration.json b/test/schemas/llm/chatgpt/DynamicEnumeration.json deleted file mode 100644 index 08de47e964..0000000000 --- a/test/schemas/llm/chatgpt/DynamicEnumeration.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "$ref": "#/$defs/DynamicEnumeration", - "$defs": { - "DynamicEnumeration": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "ar": { - "type": "string" - }, - "zh-Hans": { - "type": "string" - }, - "zh-Hant": { - "type": "string" - }, - "en": { - "type": "string" - }, - "fr": { - "type": "string" - }, - "de": { - "type": "string" - }, - "ja": { - "type": "string" - }, - "ko": { - "type": "string" - }, - "pt": { - "type": "string" - }, - "ru": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicNever.json b/test/schemas/llm/chatgpt/DynamicNever.json deleted file mode 100644 index 8abb694145..0000000000 --- a/test/schemas/llm/chatgpt/DynamicNever.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$ref": "#/$defs/DynamicNever", - "$defs": { - "DynamicNever": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicSimple.json b/test/schemas/llm/chatgpt/DynamicSimple.json deleted file mode 100644 index b7b1d6ac63..0000000000 --- a/test/schemas/llm/chatgpt/DynamicSimple.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$ref": "#/$defs/DynamicSimple", - "$defs": { - "DynamicSimple": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": {}, - "additionalProperties": { - "type": "number" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicTemplate.json b/test/schemas/llm/chatgpt/DynamicTemplate.json deleted file mode 100644 index 85b9b80f89..0000000000 --- a/test/schemas/llm/chatgpt/DynamicTemplate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$ref": "#/$defs/DynamicTemplate", - "$defs": { - "DynamicTemplate": { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicTree.json b/test/schemas/llm/chatgpt/DynamicTree.json deleted file mode 100644 index 2c08c78136..0000000000 --- a/test/schemas/llm/chatgpt/DynamicTree.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$ref": "#/$defs/DynamicTree", - "$defs": { - "DynamicTree": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "sequence": { - "type": "number" - }, - "children": { - "$ref": "#/$defs/RecordstringDynamicTree" - } - }, - "required": [ - "id", - "sequence", - "children" - ], - "additionalProperties": false - }, - "RecordstringDynamicTree": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "$ref": "#/$defs/DynamicTree" - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicUndefined.json b/test/schemas/llm/chatgpt/DynamicUndefined.json deleted file mode 100644 index fb018278a8..0000000000 --- a/test/schemas/llm/chatgpt/DynamicUndefined.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$ref": "#/$defs/DynamicUndefined", - "$defs": { - "DynamicUndefined": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/DynamicUnion.json b/test/schemas/llm/chatgpt/DynamicUnion.json deleted file mode 100644 index 7596c4ce8a..0000000000 --- a/test/schemas/llm/chatgpt/DynamicUnion.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$ref": "#/$defs/DynamicUnion", - "$defs": { - "DynamicUnion": { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectAlias.json b/test/schemas/llm/chatgpt/ObjectAlias.json deleted file mode 100644 index 678855557c..0000000000 --- a/test/schemas/llm/chatgpt/ObjectAlias.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "$ref": "#/$defs/ObjectAlias", - "$defs": { - "ObjectAlias": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectAlias.IMember" - } - }, - "ObjectAlias.IMember": { - "type": "object", - "properties": { - "id": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } - ] - }, - "email": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sex": { - "oneOf": [ - { - "type": "null" - }, - { - "const": 1 - }, - { - "const": 2 - }, - { - "const": "male" - }, - { - "const": "female" - } - ] - }, - "age": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "dead": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "id", - "email", - "name", - "sex", - "age", - "dead" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectDate.json b/test/schemas/llm/chatgpt/ObjectDate.json deleted file mode 100644 index 4d7c7a96fc..0000000000 --- a/test/schemas/llm/chatgpt/ObjectDate.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "$ref": "#/$defs/ObjectDate", - "$defs": { - "ObjectDate": { - "type": "object", - "properties": { - "classDate": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string", - "format": "date-time" - } - ] - }, - "date": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string", - "format": "date" - } - ] - }, - "datetime": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string", - "format": "date-time" - } - ] - }, - "time": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string", - "format": "time" - } - ] - }, - "duration": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string", - "format": "duration" - } - ] - } - }, - "required": [ - "date", - "datetime", - "time", - "duration" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectDescription.json b/test/schemas/llm/chatgpt/ObjectDescription.json deleted file mode 100644 index 61f210c400..0000000000 --- a/test/schemas/llm/chatgpt/ObjectDescription.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$ref": "#/$defs/ObjectDescription", - "$defs": { - "ObjectDescription": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid", - "title": "Primary Key", - "description": "Primary Key." - }, - "deprecated": { - "type": "boolean", - "deprecated": true, - "title": "Deprecated property", - "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." - }, - "title": { - "type": "string", - "title": "This is the title", - "description": "Title tag can replace the first line of the comment." - }, - "descriptions": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Description property", - "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." - }, - "newLine": { - "type": "number", - "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." - } - }, - "required": [ - "id", - "deprecated", - "title", - "descriptions", - "newLine" - ], - "title": "This is the title of object type", - "description": "An interface designed to test JSON schema's object description.", - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectDynamic.json b/test/schemas/llm/chatgpt/ObjectDynamic.json deleted file mode 100644 index 699d8e4770..0000000000 --- a/test/schemas/llm/chatgpt/ObjectDynamic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$ref": "#/$defs/ObjectDynamic", - "$defs": { - "ObjectDynamic": { - "type": "object", - "properties": {}, - "additionalProperties": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectGeneric.json b/test/schemas/llm/chatgpt/ObjectGeneric.json deleted file mode 100644 index 55f4509308..0000000000 --- a/test/schemas/llm/chatgpt/ObjectGeneric.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "$ref": "#/$defs/ObjectGeneric", - "$defs": { - "ObjectGeneric": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/ObjectGeneric.ISomethingboolean" - }, - { - "$ref": "#/$defs/ObjectGeneric.ISomethingnumber" - }, - { - "$ref": "#/$defs/ObjectGeneric.ISomethingstring" - } - ], - "additionalItems": false - }, - "ObjectGeneric.ISomethingboolean": { - "type": "object", - "properties": { - "value": { - "type": "boolean" - }, - "child": { - "$ref": "#/$defs/ObjectGeneric.IChildbooleanboolean" - }, - "elements": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGeneric.IChildbooleanboolean" - } - } - }, - "required": [ - "value", - "child", - "elements" - ], - "additionalProperties": false - }, - "ObjectGeneric.IChildbooleanboolean": { - "type": "object", - "properties": { - "child_value": { - "type": "boolean" - }, - "child_next": { - "type": "boolean" - } - }, - "required": [ - "child_value", - "child_next" - ], - "additionalProperties": false - }, - "ObjectGeneric.ISomethingnumber": { - "type": "object", - "properties": { - "value": { - "type": "number" - }, - "child": { - "$ref": "#/$defs/ObjectGeneric.IChildnumbernumber" - }, - "elements": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGeneric.IChildnumbernumber" - } - } - }, - "required": [ - "value", - "child", - "elements" - ], - "additionalProperties": false - }, - "ObjectGeneric.IChildnumbernumber": { - "type": "object", - "properties": { - "child_value": { - "type": "number" - }, - "child_next": { - "type": "number" - } - }, - "required": [ - "child_value", - "child_next" - ], - "additionalProperties": false - }, - "ObjectGeneric.ISomethingstring": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "child": { - "$ref": "#/$defs/ObjectGeneric.IChildstringstring" - }, - "elements": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGeneric.IChildstringstring" - } - } - }, - "required": [ - "value", - "child", - "elements" - ], - "additionalProperties": false - }, - "ObjectGeneric.IChildstringstring": { - "type": "object", - "properties": { - "child_value": { - "type": "string" - }, - "child_next": { - "type": "string" - } - }, - "required": [ - "child_value", - "child_next" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectGenericAlias.json b/test/schemas/llm/chatgpt/ObjectGenericAlias.json deleted file mode 100644 index 25eda57b67..0000000000 --- a/test/schemas/llm/chatgpt/ObjectGenericAlias.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$ref": "#/$defs/ObjectGenericAlias.Alias", - "$defs": { - "ObjectGenericAlias.Alias": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectGenericArray.json b/test/schemas/llm/chatgpt/ObjectGenericArray.json deleted file mode 100644 index 99ac0da1a4..0000000000 --- a/test/schemas/llm/chatgpt/ObjectGenericArray.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "$ref": "#/$defs/ObjectGenericArray", - "$defs": { - "ObjectGenericArray": { - "type": "object", - "properties": { - "pagination": { - "$ref": "#/$defs/ObjectGenericArray.IPagination" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGenericArray.IPerson" - } - } - }, - "required": [ - "pagination", - "data" - ], - "additionalProperties": false - }, - "ObjectGenericArray.IPagination": { - "type": "object", - "properties": { - "page": { - "type": "number" - }, - "limit": { - "type": "number" - }, - "total_count": { - "type": "number" - }, - "total_pages": { - "type": "number" - } - }, - "required": [ - "page", - "limit", - "total_count", - "total_pages" - ], - "additionalProperties": false - }, - "ObjectGenericArray.IPerson": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "age": { - "type": "number" - } - }, - "required": [ - "name", - "age" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectGenericUnion.json b/test/schemas/llm/chatgpt/ObjectGenericUnion.json deleted file mode 100644 index 22ec9a3ebf..0000000000 --- a/test/schemas/llm/chatgpt/ObjectGenericUnion.json +++ /dev/null @@ -1,231 +0,0 @@ -{ - "$ref": "#/$defs/ObjectGenericUnion", - "$defs": { - "ObjectGenericUnion": { - "type": "object", - "properties": { - "value": { - "$ref": "#/$defs/ObjectGenericUnion.ISaleEntireArticle" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectGenericUnion.ISaleEntireArticle": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectGenericUnion.ISaleQuestion" - }, - { - "$ref": "#/$defs/ObjectGenericUnion.ISaleReview" - } - ] - }, - "ObjectGenericUnion.ISaleQuestion": { - "type": "object", - "properties": { - "writer": { - "type": "string" - }, - "answer": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectGenericUnion.ISaleAnswer" - } - ] - }, - "id": { - "type": "string" - }, - "hit": { - "type": "number" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGenericUnion.ISaleArticle.IContent" - } - }, - "created_at": { - "type": "string" - } - }, - "required": [ - "writer", - "answer", - "id", - "hit", - "contents", - "created_at" - ], - "additionalProperties": false - }, - "ObjectGenericUnion.ISaleAnswer": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "hit": { - "type": "number" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGenericUnion.ISaleArticle.IContent" - } - }, - "created_at": { - "type": "string" - } - }, - "required": [ - "id", - "hit", - "contents", - "created_at" - ], - "additionalProperties": false - }, - "ObjectGenericUnion.ISaleArticle.IContent": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "title": { - "type": "string" - }, - "body": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGenericUnion.IAttachmentFile" - } - } - }, - "required": [ - "id", - "created_at", - "title", - "body", - "files" - ], - "additionalProperties": false - }, - "ObjectGenericUnion.IAttachmentFile": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "extension": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "name", - "extension", - "url" - ], - "additionalProperties": false - }, - "ObjectGenericUnion.ISaleReview": { - "type": "object", - "properties": { - "writer": { - "type": "string" - }, - "answer": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectGenericUnion.ISaleAnswer" - } - ] - }, - "id": { - "type": "string" - }, - "hit": { - "type": "number" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGenericUnion.ISaleReview.IContent" - } - }, - "created_at": { - "type": "string" - } - }, - "required": [ - "writer", - "answer", - "id", - "hit", - "contents", - "created_at" - ], - "additionalProperties": false - }, - "ObjectGenericUnion.ISaleReview.IContent": { - "type": "object", - "properties": { - "score": { - "type": "number" - }, - "id": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "title": { - "type": "string" - }, - "body": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectGenericUnion.IAttachmentFile" - } - } - }, - "required": [ - "score", - "id", - "created_at", - "title", - "body", - "files" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectHierarchical.json b/test/schemas/llm/chatgpt/ObjectHierarchical.json deleted file mode 100644 index c38cc68291..0000000000 --- a/test/schemas/llm/chatgpt/ObjectHierarchical.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "$ref": "#/$defs/ObjectHierarchical.ICustomer", - "$defs": { - "ObjectHierarchical.ICustomer": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "channel": { - "$ref": "#/$defs/ObjectHierarchical.IChannel" - }, - "member": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectHierarchical.IMember" - } - ] - }, - "account": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectHierarchical.IAccount" - } - ] - }, - "href": { - "type": "string" - }, - "referrer": { - "type": "string" - }, - "ip": { - "type": "array", - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "additionalItems": false - }, - "created_at": { - "$ref": "#/$defs/ObjectHierarchical.ITimestamp" - } - }, - "required": [ - "id", - "channel", - "member", - "account", - "href", - "referrer", - "ip", - "created_at" - ], - "additionalProperties": false - }, - "ObjectHierarchical.IChannel": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sequence": { - "type": "number" - }, - "exclusive": { - "type": "boolean" - }, - "priority": { - "type": "number" - }, - "created_at": { - "$ref": "#/$defs/ObjectHierarchical.ITimestamp" - } - }, - "required": [ - "id", - "code", - "name", - "sequence", - "exclusive", - "priority", - "created_at" - ], - "additionalProperties": false - }, - "ObjectHierarchical.ITimestamp": { - "type": "object", - "properties": { - "time": { - "type": "number" - }, - "zone": { - "type": "number" - } - }, - "required": [ - "time", - "zone" - ], - "additionalProperties": false - }, - "ObjectHierarchical.IMember": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "account": { - "$ref": "#/$defs/ObjectHierarchical.IAccount" - }, - "enterprise": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectHierarchical.IEnterprise" - } - ] - }, - "emails": { - "type": "array", - "items": { - "type": "string" - } - }, - "created_at": { - "$ref": "#/$defs/ObjectHierarchical.ITimestamp" - }, - "authorized": { - "type": "boolean" - } - }, - "required": [ - "id", - "account", - "enterprise", - "emails", - "created_at", - "authorized" - ], - "additionalProperties": false - }, - "ObjectHierarchical.IAccount": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "code": { - "type": "string" - }, - "created_at": { - "$ref": "#/$defs/ObjectHierarchical.ITimestamp" - } - }, - "required": [ - "id", - "code", - "created_at" - ], - "additionalProperties": false - }, - "ObjectHierarchical.IEnterprise": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "account": { - "$ref": "#/$defs/ObjectHierarchical.IAccount" - }, - "name": { - "type": "string" - }, - "grade": { - "type": "number" - }, - "created_at": { - "$ref": "#/$defs/ObjectHierarchical.ITimestamp" - } - }, - "required": [ - "id", - "account", - "name", - "grade", - "created_at" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectInternal.json b/test/schemas/llm/chatgpt/ObjectInternal.json deleted file mode 100644 index dfab09cf5c..0000000000 --- a/test/schemas/llm/chatgpt/ObjectInternal.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$ref": "#/$defs/ObjectInternal", - "$defs": { - "ObjectInternal": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectIntersection.json b/test/schemas/llm/chatgpt/ObjectIntersection.json deleted file mode 100644 index f03e614d51..0000000000 --- a/test/schemas/llm/chatgpt/ObjectIntersection.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$ref": "#/$defs/ObjectIntersection", - "$defs": { - "ObjectIntersection": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "name": { - "type": "string" - }, - "vulnerable": { - "type": "boolean" - } - }, - "required": [ - "email", - "name", - "vulnerable" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectJsonTag.json b/test/schemas/llm/chatgpt/ObjectJsonTag.json deleted file mode 100644 index 722e70f2c3..0000000000 --- a/test/schemas/llm/chatgpt/ObjectJsonTag.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$ref": "#/$defs/ObjectJsonTag", - "$defs": { - "ObjectJsonTag": { - "type": "object", - "properties": { - "vulnerable": { - "type": "string", - "deprecated": true - }, - "description": { - "type": "string", - "title": "Descripted property", - "description": "Descripted property." - }, - "title": { - "type": "string", - "title": "something", - "description": "Titled property." - }, - "complicate_title": { - "type": "string", - "title": "something weirdo with {@link something } tag", - "description": "Complicate title." - } - }, - "required": [ - "vulnerable", - "description", - "title", - "complicate_title" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectLiteralProperty.json b/test/schemas/llm/chatgpt/ObjectLiteralProperty.json deleted file mode 100644 index a4a487b04e..0000000000 --- a/test/schemas/llm/chatgpt/ObjectLiteralProperty.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$ref": "#/$defs/ObjectLiteralProperty.ISomething", - "$defs": { - "ObjectLiteralProperty.ISomething": { - "type": "object", - "properties": { - "something-interesting-do-you-want?": { - "type": "string" - }, - "or-something-crazy-do-you-want?": { - "type": "string" - } - }, - "required": [ - "something-interesting-do-you-want?", - "or-something-crazy-do-you-want?" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectNullable.json b/test/schemas/llm/chatgpt/ObjectNullable.json deleted file mode 100644 index 97786e363d..0000000000 --- a/test/schemas/llm/chatgpt/ObjectNullable.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "$ref": "#/$defs/ObjectNullable", - "$defs": { - "ObjectNullable": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectNullable.IProduct" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectNullable.IProduct": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "manufacturer": { - "$ref": "#/$defs/ObjectNullable.IManufacturer" - }, - "brand": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectNullable.IBrand" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "brand": "#/$defs/ObjectNullable.IBrand" - } - } - }, - "similar": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectNullable.IBrand" - }, - { - "$ref": "#/$defs/ObjectNullable.IManufacturer" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "brand": "#/$defs/ObjectNullable.IBrand", - "manufacturer": "#/$defs/ObjectNullable.IManufacturer" - } - } - } - }, - "required": [ - "name", - "manufacturer", - "brand", - "similar" - ], - "additionalProperties": false - }, - "ObjectNullable.IManufacturer": { - "type": "object", - "properties": { - "type": { - "const": "manufacturer" - }, - "name": { - "type": "string" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - }, - "ObjectNullable.IBrand": { - "type": "object", - "properties": { - "type": { - "const": "brand" - }, - "name": { - "type": "string" - } - }, - "required": [ - "type", - "name" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectOptional.json b/test/schemas/llm/chatgpt/ObjectOptional.json deleted file mode 100644 index daf5b1c7c8..0000000000 --- a/test/schemas/llm/chatgpt/ObjectOptional.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$ref": "#/$defs/ObjectOptional", - "$defs": { - "ObjectOptional": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "email": { - "type": "string" - }, - "sequence": { - "type": "number" - } - }, - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectPartial.json b/test/schemas/llm/chatgpt/ObjectPartial.json deleted file mode 100644 index d67360ebd6..0000000000 --- a/test/schemas/llm/chatgpt/ObjectPartial.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "$ref": "#/$defs/PartialObjectPartial.IBase", - "$defs": { - "PartialObjectPartial.IBase": { - "type": "object", - "properties": { - "boolean": { - "type": "boolean" - }, - "number": { - "type": "number" - }, - "string": { - "type": "string" - }, - "array": { - "type": "array", - "items": { - "type": "number" - } - }, - "object": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectPartial.IBase" - } - ] - } - }, - "description": "Make all properties in T optional", - "additionalProperties": false - }, - "ObjectPartial.IBase": { - "type": "object", - "properties": { - "boolean": { - "type": "boolean" - }, - "number": { - "type": "number" - }, - "string": { - "type": "string" - }, - "array": { - "type": "array", - "items": { - "type": "number" - } - }, - "object": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectPartial.IBase" - } - ] - } - }, - "required": [ - "boolean", - "number", - "string", - "array", - "object" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectPartialAndRequired.json b/test/schemas/llm/chatgpt/ObjectPartialAndRequired.json deleted file mode 100644 index cfd81895a1..0000000000 --- a/test/schemas/llm/chatgpt/ObjectPartialAndRequired.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "$ref": "#/$defs/ObjectPartialAndRequired", - "$defs": { - "ObjectPartialAndRequired": { - "type": "object", - "properties": { - "string": { - "type": "string" - }, - "number": { - "type": "number" - }, - "boolean": { - "type": "boolean" - }, - "object": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectPartialAndRequired" - } - ] - }, - "array": { - "type": "array", - "items": { - "type": "number" - } - } - }, - "required": [ - "object", - "array" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectPrimitive.json b/test/schemas/llm/chatgpt/ObjectPrimitive.json deleted file mode 100644 index eee84ef1f5..0000000000 --- a/test/schemas/llm/chatgpt/ObjectPrimitive.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "$ref": "#/$defs/ObjectPrimitive.IArticle", - "$defs": { - "ObjectPrimitive.IArticle": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "extension": { - "oneOf": [ - { - "const": "txt" - }, - { - "const": "md" - }, - { - "const": "html" - } - ] - }, - "title": { - "type": "string" - }, - "body": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectPrimitive.IFile" - } - }, - "secret": { - "type": "boolean" - }, - "created_at": { - "type": "string" - } - }, - "required": [ - "id", - "extension", - "title", - "body", - "files", - "secret", - "created_at" - ], - "additionalProperties": false - }, - "ObjectPrimitive.IFile": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "url": { - "type": "string" - }, - "created_at": { - "type": "string" - } - }, - "required": [ - "id", - "name", - "extension", - "url", - "created_at" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectPropertyNullable.json b/test/schemas/llm/chatgpt/ObjectPropertyNullable.json deleted file mode 100644 index 6276c20e86..0000000000 --- a/test/schemas/llm/chatgpt/ObjectPropertyNullable.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "$ref": "#/$defs/ObjectPropertyNullable", - "$defs": { - "ObjectPropertyNullable": { - "type": "array", - "prefixItems": [ - { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectPropertyNullable.IPointerboolean" - } - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectPropertyNullable.IPointernumber" - } - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectPropertyNullable.IPointerstring" - } - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember" - } - } - ], - "additionalItems": false - }, - "ObjectPropertyNullable.IPointerboolean": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectPropertyNullable.IPointernumber": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectPropertyNullable.IPointerstring": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectPropertyNullable.IPointerObjectPropertyNullable.IMember": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectPropertyNullable.IMember" - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectPropertyNullable.IMember": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } - ] - }, - "grade": { - "type": "number" - }, - "serial": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "activated": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "id", - "name", - "activated" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectRecursive.json b/test/schemas/llm/chatgpt/ObjectRecursive.json deleted file mode 100644 index 0384d40712..0000000000 --- a/test/schemas/llm/chatgpt/ObjectRecursive.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "$ref": "#/$defs/ObjectRecursive.IDepartment", - "$defs": { - "ObjectRecursive.IDepartment": { - "type": "object", - "properties": { - "parent": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectRecursive.IDepartment" - } - ] - }, - "id": { - "type": "number" - }, - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sequence": { - "type": "number" - }, - "created_at": { - "$ref": "#/$defs/ObjectRecursive.ITimestamp" - } - }, - "required": [ - "parent", - "id", - "code", - "name", - "sequence", - "created_at" - ], - "additionalProperties": false - }, - "ObjectRecursive.ITimestamp": { - "type": "object", - "properties": { - "time": { - "type": "number" - }, - "zone": { - "type": "number" - } - }, - "required": [ - "time", - "zone" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectRequired.json b/test/schemas/llm/chatgpt/ObjectRequired.json deleted file mode 100644 index 3d5eca87d1..0000000000 --- a/test/schemas/llm/chatgpt/ObjectRequired.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "$ref": "#/$defs/RequiredObjectRequired.IBase", - "$defs": { - "RequiredObjectRequired.IBase": { - "type": "object", - "properties": { - "boolean": { - "type": "boolean" - }, - "number": { - "type": "number" - }, - "string": { - "type": "string" - }, - "array": { - "type": "array", - "items": { - "type": "number" - } - }, - "object": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectRequired.IBase" - } - ] - } - }, - "required": [ - "boolean", - "number", - "string", - "array", - "object" - ], - "description": "Make all properties in T required", - "additionalProperties": false - }, - "ObjectRequired.IBase": { - "type": "object", - "properties": { - "boolean": { - "type": "boolean" - }, - "number": { - "type": "number" - }, - "string": { - "type": "string" - }, - "array": { - "type": "array", - "items": { - "type": "number" - } - }, - "object": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/$defs/ObjectRequired.IBase" - } - ] - } - }, - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectSimple.json b/test/schemas/llm/chatgpt/ObjectSimple.json deleted file mode 100644 index 24b311cb6a..0000000000 --- a/test/schemas/llm/chatgpt/ObjectSimple.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$ref": "#/$defs/ObjectSimple.IBox3D", - "$defs": { - "ObjectSimple.IBox3D": { - "type": "object", - "properties": { - "scale": { - "$ref": "#/$defs/ObjectSimple.IPoint3D" - }, - "position": { - "$ref": "#/$defs/ObjectSimple.IPoint3D" - }, - "rotate": { - "$ref": "#/$defs/ObjectSimple.IPoint3D" - }, - "pivot": { - "$ref": "#/$defs/ObjectSimple.IPoint3D" - } - }, - "required": [ - "scale", - "position", - "rotate", - "pivot" - ], - "additionalProperties": false - }, - "ObjectSimple.IPoint3D": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - }, - "z": { - "type": "number" - } - }, - "required": [ - "x", - "y", - "z" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectTuple.json b/test/schemas/llm/chatgpt/ObjectTuple.json deleted file mode 100644 index 1b2e823ef0..0000000000 --- a/test/schemas/llm/chatgpt/ObjectTuple.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$ref": "#/$defs/ObjectTuple", - "$defs": { - "ObjectTuple": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/ObjectTuple.ISection" - }, - { - "$ref": "#/$defs/ObjectTuple.ICitizen" - } - ], - "additionalItems": false - }, - "ObjectTuple.ISection": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "code": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "code", - "name" - ], - "additionalProperties": false - }, - "ObjectTuple.ICitizen": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "mobile": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "mobile", - "name" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUndefined.json b/test/schemas/llm/chatgpt/ObjectUndefined.json deleted file mode 100644 index 4aa7fd10b0..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUndefined.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUndefined", - "$defs": { - "ObjectUndefined": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUndefined.ILecture" - } - }, - "ObjectUndefined.ILecture": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "professor": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "classroom": { - "$ref": "#/$defs/ObjectUndefined.IClassroom" - }, - "grade": { - "type": "number" - }, - "unknown": {} - }, - "required": [ - "name", - "unknown" - ], - "additionalProperties": false - }, - "ObjectUndefined.IClassroom": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUnionComposite.json b/test/schemas/llm/chatgpt/ObjectUnionComposite.json deleted file mode 100644 index 593e74153c..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUnionComposite.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUnionComposite", - "$defs": { - "ObjectUnionComposite": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - { - "$ref": "#/$defs/ObjectUnionComposite.ILine" - }, - { - "$ref": "#/$defs/ObjectUnionComposite.ITriangle" - }, - { - "$ref": "#/$defs/ObjectUnionComposite.IRectangle" - }, - { - "$ref": "#/$defs/ObjectUnionComposite.IPolyline" - }, - { - "$ref": "#/$defs/ObjectUnionComposite.IPointedShape" - }, - { - "$ref": "#/$defs/ObjectUnionComposite.IPolygon" - }, - { - "$ref": "#/$defs/ObjectUnionComposite.ICircle" - } - ] - } - }, - "ObjectUnionComposite.IPoint": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "additionalProperties": false - }, - "ObjectUnionComposite.ILine": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - } - }, - "required": [ - "p1", - "p2" - ], - "additionalProperties": false - }, - "ObjectUnionComposite.ITriangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - } - }, - "required": [ - "p1", - "p2", - "p3" - ], - "additionalProperties": false - }, - "ObjectUnionComposite.IRectangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - "p4": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - } - }, - "required": [ - "p1", - "p2", - "p3", - "p4" - ], - "additionalProperties": false - }, - "ObjectUnionComposite.IPolyline": { - "type": "object", - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - } - } - }, - "required": [ - "points" - ], - "additionalProperties": false - }, - "ObjectUnionComposite.IPointedShape": { - "type": "object", - "properties": { - "outer": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - } - }, - "inner": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - } - }, - "required": [ - "outer", - "inner" - ], - "additionalProperties": false - }, - "ObjectUnionComposite.IPolygon": { - "type": "object", - "properties": { - "outer": { - "$ref": "#/$defs/ObjectUnionComposite.IPolyline" - }, - "inner": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionComposite.IPolyline" - } - } - }, - "required": [ - "outer", - "inner" - ], - "additionalProperties": false - }, - "ObjectUnionComposite.ICircle": { - "type": "object", - "properties": { - "centroid": { - "$ref": "#/$defs/ObjectUnionComposite.IPoint" - }, - "radius": { - "type": "number" - } - }, - "required": [ - "centroid", - "radius" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUnionCompositePointer.json b/test/schemas/llm/chatgpt/ObjectUnionCompositePointer.json deleted file mode 100644 index c56de2ef9f..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUnionCompositePointer.json +++ /dev/null @@ -1,202 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUnionCompositePointer", - "$defs": { - "ObjectUnionCompositePointer": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "IPointerIPointILineITriangleIRectangleIPolylineIPolygonIPointedShapeICircle": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - { - "$ref": "#/$defs/ObjectUnionCompositePointer.ILine" - }, - { - "$ref": "#/$defs/ObjectUnionCompositePointer.ITriangle" - }, - { - "$ref": "#/$defs/ObjectUnionCompositePointer.IRectangle" - }, - { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPolyline" - }, - { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPointedShape" - }, - { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPolygon" - }, - { - "$ref": "#/$defs/ObjectUnionCompositePointer.ICircle" - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.IPoint": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.ILine": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - } - }, - "required": [ - "p1", - "p2" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.ITriangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - } - }, - "required": [ - "p1", - "p2", - "p3" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.IRectangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - "p4": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - } - }, - "required": [ - "p1", - "p2", - "p3", - "p4" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.IPolyline": { - "type": "object", - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - } - } - }, - "required": [ - "points" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.IPointedShape": { - "type": "object", - "properties": { - "outer": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - } - }, - "inner": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - } - }, - "required": [ - "outer", - "inner" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.IPolygon": { - "type": "object", - "properties": { - "outer": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPolyline" - }, - "inner": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPolyline" - } - } - }, - "required": [ - "outer", - "inner" - ], - "additionalProperties": false - }, - "ObjectUnionCompositePointer.ICircle": { - "type": "object", - "properties": { - "centroid": { - "$ref": "#/$defs/ObjectUnionCompositePointer.IPoint" - }, - "radius": { - "type": "number" - } - }, - "required": [ - "centroid", - "radius" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUnionDouble.json b/test/schemas/llm/chatgpt/ObjectUnionDouble.json deleted file mode 100644 index 4c44670df1..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUnionDouble.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUnionDouble", - "$defs": { - "ObjectUnionDouble": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionDouble.Union" - } - }, - "ObjectUnionDouble.Union": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionDouble.IA" - }, - { - "$ref": "#/$defs/ObjectUnionDouble.IB" - } - ] - }, - "ObjectUnionDouble.IA": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "x": { - "type": "number" - } - }, - "required": [ - "x" - ], - "additionalProperties": false - }, - "child": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionDouble.IAB" - }, - { - "$ref": "#/$defs/ObjectUnionDouble.IAA" - } - ] - } - }, - "required": [ - "value", - "child" - ], - "additionalProperties": false - }, - "ObjectUnionDouble.IAB": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "y": { - "type": "number" - } - }, - "required": [ - "y" - ], - "additionalProperties": false - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionDouble.IAA": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "y": { - "type": "boolean" - } - }, - "required": [ - "y" - ], - "additionalProperties": false - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionDouble.IB": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "x": { - "type": "string" - } - }, - "required": [ - "x" - ], - "additionalProperties": false - }, - "child": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionDouble.IBB" - }, - { - "$ref": "#/$defs/ObjectUnionDouble.IBA" - } - ] - } - }, - "required": [ - "value", - "child" - ], - "additionalProperties": false - }, - "ObjectUnionDouble.IBB": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "y": { - "type": "array", - "items": { - "type": "number" - } - } - }, - "required": [ - "y" - ], - "additionalProperties": false - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionDouble.IBA": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "y": { - "type": "string" - } - }, - "required": [ - "y" - ], - "additionalProperties": false - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUnionExplicit.json b/test/schemas/llm/chatgpt/ObjectUnionExplicit.json deleted file mode 100644 index 6cbacb678f..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUnionExplicit.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUnionExplicit", - "$defs": { - "ObjectUnionExplicit": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint" - }, - { - "$ref": "#/$defs/ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine" - }, - { - "$ref": "#/$defs/ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle" - }, - { - "$ref": "#/$defs/ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle" - }, - { - "$ref": "#/$defs/ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline" - }, - { - "$ref": "#/$defs/ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon" - }, - { - "$ref": "#/$defs/ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle" - } - ] - } - }, - "ObjectUnionExplicit.DiscriminatorpointObjectUnionExplicit.IPoint": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - }, - "type": { - "const": "point" - } - }, - "required": [ - "x", - "y", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.DiscriminatorlineObjectUnionExplicit.ILine": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "type": { - "const": "line" - } - }, - "required": [ - "p1", - "p2", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.IPoint": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.DiscriminatortriangleObjectUnionExplicit.ITriangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "type": { - "const": "triangle" - } - }, - "required": [ - "p1", - "p2", - "p3", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.DiscriminatorrectangleObjectUnionExplicit.IRectangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "p4": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "type": { - "const": "rectangle" - } - }, - "required": [ - "p1", - "p2", - "p3", - "p4", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.DiscriminatorpolylineObjectUnionExplicit.IPolyline": { - "type": "object", - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - } - }, - "type": { - "const": "polyline" - } - }, - "required": [ - "points", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.DiscriminatorpolygonObjectUnionExplicit.IPolygon": { - "type": "object", - "properties": { - "outer": { - "$ref": "#/$defs/ObjectUnionExplicit.IPolyline" - }, - "inner": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionExplicit.IPolyline" - } - }, - "type": { - "const": "polygon" - } - }, - "required": [ - "outer", - "inner", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.IPolyline": { - "type": "object", - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - } - } - }, - "required": [ - "points" - ], - "additionalProperties": false - }, - "ObjectUnionExplicit.DiscriminatorcircleObjectUnionExplicit.ICircle": { - "type": "object", - "properties": { - "centroid": { - "$ref": "#/$defs/ObjectUnionExplicit.IPoint" - }, - "radius": { - "type": "number" - }, - "type": { - "const": "circle" - } - }, - "required": [ - "centroid", - "radius", - "type" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUnionExplicitPointer.json b/test/schemas/llm/chatgpt/ObjectUnionExplicitPointer.json deleted file mode 100644 index ec780f56f7..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUnionExplicitPointer.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUnionExplicitPointer", - "$defs": { - "ObjectUnionExplicitPointer": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/IPointerObjectUnionExplicitPointer.Shape" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "IPointerObjectUnionExplicitPointer.Shape": { - "type": "object", - "properties": { - "value": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.Shape" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.Shape": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint" - }, - { - "$ref": "#/$defs/ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine" - }, - { - "$ref": "#/$defs/ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle" - }, - { - "$ref": "#/$defs/ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle" - }, - { - "$ref": "#/$defs/ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline" - }, - { - "$ref": "#/$defs/ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon" - }, - { - "$ref": "#/$defs/ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle" - } - ] - }, - "ObjectUnionExplicitPointer.DiscriminatorpointObjectUnionExplicitPointer.IPoint": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - }, - "type": { - "const": "point" - } - }, - "required": [ - "x", - "y", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.DiscriminatorlineObjectUnionExplicitPointer.ILine": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "type": { - "const": "line" - } - }, - "required": [ - "p1", - "p2", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.IPoint": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.DiscriminatortriangleObjectUnionExplicitPointer.ITriangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "type": { - "const": "triangle" - } - }, - "required": [ - "p1", - "p2", - "p3", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.DiscriminatorrectangleObjectUnionExplicitPointer.IRectangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "p4": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "type": { - "const": "rectangle" - } - }, - "required": [ - "p1", - "p2", - "p3", - "p4", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.DiscriminatorpolylineObjectUnionExplicitPointer.IPolyline": { - "type": "object", - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - } - }, - "type": { - "const": "polyline" - } - }, - "required": [ - "points", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.DiscriminatorpolygonObjectUnionExplicitPointer.IPolygon": { - "type": "object", - "properties": { - "outer": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPolyline" - }, - "inner": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPolyline" - } - }, - "type": { - "const": "polygon" - } - }, - "required": [ - "outer", - "inner", - "type" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.IPolyline": { - "type": "object", - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - } - } - }, - "required": [ - "points" - ], - "additionalProperties": false - }, - "ObjectUnionExplicitPointer.DiscriminatorcircleObjectUnionExplicitPointer.ICircle": { - "type": "object", - "properties": { - "centroid": { - "$ref": "#/$defs/ObjectUnionExplicitPointer.IPoint" - }, - "radius": { - "type": "number" - }, - "type": { - "const": "circle" - } - }, - "required": [ - "centroid", - "radius", - "type" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUnionImplicit.json b/test/schemas/llm/chatgpt/ObjectUnionImplicit.json deleted file mode 100644 index b4dbd4c2ea..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUnionImplicit.json +++ /dev/null @@ -1,277 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUnionImplicit", - "$defs": { - "ObjectUnionImplicit": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - { - "$ref": "#/$defs/ObjectUnionImplicit.ILine" - }, - { - "$ref": "#/$defs/ObjectUnionImplicit.ITriangle" - }, - { - "$ref": "#/$defs/ObjectUnionImplicit.IRectangle" - }, - { - "$ref": "#/$defs/ObjectUnionImplicit.IPolyline" - }, - { - "$ref": "#/$defs/ObjectUnionImplicit.IPolygon" - }, - { - "$ref": "#/$defs/ObjectUnionImplicit.ICircle" - } - ] - } - }, - "ObjectUnionImplicit.IPoint": { - "type": "object", - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - }, - "slope": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "x", - "y" - ], - "additionalProperties": false - }, - "ObjectUnionImplicit.ILine": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "width": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "distance": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "p1", - "p2" - ], - "additionalProperties": false - }, - "ObjectUnionImplicit.ITriangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "width": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "height": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "area": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "p1", - "p2", - "p3" - ], - "additionalProperties": false - }, - "ObjectUnionImplicit.IRectangle": { - "type": "object", - "properties": { - "p1": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "p2": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "p3": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "p4": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "width": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "height": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "area": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "p1", - "p2", - "p3", - "p4" - ], - "additionalProperties": false - }, - "ObjectUnionImplicit.IPolyline": { - "type": "object", - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - } - }, - "length": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "points" - ], - "additionalProperties": false - }, - "ObjectUnionImplicit.IPolygon": { - "type": "object", - "properties": { - "outer": { - "$ref": "#/$defs/ObjectUnionImplicit.IPolyline" - }, - "inner": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionImplicit.IPolyline" - } - }, - "area": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "outer" - ], - "additionalProperties": false - }, - "ObjectUnionImplicit.ICircle": { - "type": "object", - "properties": { - "radius": { - "type": "number" - }, - "centroid": { - "$ref": "#/$defs/ObjectUnionImplicit.IPoint" - }, - "area": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - } - }, - "required": [ - "radius" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ObjectUnionNonPredictable.json b/test/schemas/llm/chatgpt/ObjectUnionNonPredictable.json deleted file mode 100644 index 014205cbb3..0000000000 --- a/test/schemas/llm/chatgpt/ObjectUnionNonPredictable.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "$ref": "#/$defs/ObjectUnionNonPredictable", - "$defs": { - "ObjectUnionNonPredictable": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionNonPredictable.IWrapperObjectUnionNonPredictable.IUnion": { - "type": "object", - "properties": { - "value": { - "$ref": "#/$defs/IPointerObjectUnionNonPredictable.IUnion" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "IPointerObjectUnionNonPredictable.IUnion": { - "type": "object", - "properties": { - "value": { - "$ref": "#/$defs/ObjectUnionNonPredictable.IUnion" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionNonPredictable.IUnion": { - "oneOf": [ - { - "$ref": "#/$defs/ObjectUnionNonPredictable.IWrapperboolean" - }, - { - "$ref": "#/$defs/ObjectUnionNonPredictable.IWrappernumber" - }, - { - "$ref": "#/$defs/ObjectUnionNonPredictable.IWrapperstring" - } - ] - }, - "ObjectUnionNonPredictable.IWrapperboolean": { - "type": "object", - "properties": { - "value": { - "$ref": "#/$defs/IPointerboolean" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "IPointerboolean": { - "type": "object", - "properties": { - "value": { - "type": "boolean" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionNonPredictable.IWrappernumber": { - "type": "object", - "properties": { - "value": { - "$ref": "#/$defs/IPointernumber" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "IPointernumber": { - "type": "object", - "properties": { - "value": { - "type": "number" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "ObjectUnionNonPredictable.IWrapperstring": { - "type": "object", - "properties": { - "value": { - "$ref": "#/$defs/IPointerstring" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "IPointerstring": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TemplateAtomic.json b/test/schemas/llm/chatgpt/TemplateAtomic.json deleted file mode 100644 index cf6baab93a..0000000000 --- a/test/schemas/llm/chatgpt/TemplateAtomic.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "$ref": "#/$defs/TemplateAtomic", - "$defs": { - "TemplateAtomic": { - "type": "object", - "properties": { - "prefix": { - "type": "string", - "pattern": "^(prefix_(.*))" - }, - "postfix": { - "type": "string", - "pattern": "((.*)_postfix)$" - }, - "middle_string": { - "type": "string", - "pattern": "^(the_(.*)_value)$" - }, - "middle_string_empty": { - "type": "string", - "pattern": "^(the_(.*)_value)$" - }, - "middle_numeric": { - "type": "string", - "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" - }, - "middle_boolean": { - "oneOf": [ - { - "const": "the_false_value" - }, - { - "const": "the_true_value" - } - ] - }, - "ipv4": { - "type": "string", - "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" - }, - "email": { - "type": "string", - "pattern": "((.*)@(.*)\\.(.*))" - } - }, - "required": [ - "prefix", - "postfix", - "middle_string", - "middle_string_empty", - "middle_numeric", - "middle_boolean", - "ipv4", - "email" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TemplateConstant.json b/test/schemas/llm/chatgpt/TemplateConstant.json deleted file mode 100644 index 4fdf7f3313..0000000000 --- a/test/schemas/llm/chatgpt/TemplateConstant.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "$ref": "#/$defs/TemplateConstant", - "$defs": { - "TemplateConstant": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/TemplateConstant.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TemplateConstant.Type": { - "type": "object", - "properties": { - "prefix": { - "oneOf": [ - { - "const": "prefix_A" - }, - { - "const": "prefix_B" - }, - { - "const": "prefix_C" - } - ] - }, - "postfix": { - "oneOf": [ - { - "const": "1_postfix" - }, - { - "const": "2_postfix" - }, - { - "const": "3_postfix" - } - ] - }, - "combined": { - "oneOf": [ - { - "const": "the_1_value_with_label_A" - }, - { - "const": "the_1_value_with_label_B" - }, - { - "const": "the_1_value_with_label_C" - }, - { - "const": "the_2_value_with_label_A" - }, - { - "const": "the_2_value_with_label_B" - }, - { - "const": "the_2_value_with_label_C" - }, - { - "const": "the_3_value_with_label_A" - }, - { - "const": "the_3_value_with_label_B" - }, - { - "const": "the_3_value_with_label_C" - } - ] - } - }, - "required": [ - "prefix", - "postfix", - "combined" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TemplateUnion.json b/test/schemas/llm/chatgpt/TemplateUnion.json deleted file mode 100644 index 84329975fe..0000000000 --- a/test/schemas/llm/chatgpt/TemplateUnion.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "$ref": "#/$defs/TemplateUnion", - "$defs": { - "TemplateUnion": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/TemplateUnion.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TemplateUnion.Type": { - "type": "object", - "properties": { - "prefix": { - "type": "string", - "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" - }, - "postfix": { - "type": "string", - "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" - }, - "middle": { - "oneOf": [ - { - "type": "string", - "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" - }, - { - "const": "the_false_value" - }, - { - "const": "the_true_value" - } - ] - }, - "mixed": { - "oneOf": [ - { - "type": "string", - "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" - }, - { - "const": "the_A_value" - }, - { - "const": "the_B_value" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "object", - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - } - ] - } - }, - "required": [ - "prefix", - "postfix", - "middle", - "mixed" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ToJsonArray.json b/test/schemas/llm/chatgpt/ToJsonArray.json deleted file mode 100644 index 2668f11c4e..0000000000 --- a/test/schemas/llm/chatgpt/ToJsonArray.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$ref": "#/$defs/ToJsonArray", - "$defs": { - "ToJsonArray": { - "type": "array", - "prefixItems": [ - { - "type": "array", - "items": { - "type": "boolean" - } - }, - { - "type": "array", - "items": { - "type": "number" - } - }, - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/ToJsonArray.IObject" - } - } - ], - "additionalItems": false - }, - "ToJsonArray.IObject": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ToJsonAtomicSimple.json b/test/schemas/llm/chatgpt/ToJsonAtomicSimple.json deleted file mode 100644 index b0612fb41e..0000000000 --- a/test/schemas/llm/chatgpt/ToJsonAtomicSimple.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$ref": "#/$defs/ToJsonAtomicSimple", - "$defs": { - "ToJsonAtomicSimple": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - } - ], - "additionalItems": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ToJsonAtomicUnion.json b/test/schemas/llm/chatgpt/ToJsonAtomicUnion.json deleted file mode 100644 index cd12ec10c7..0000000000 --- a/test/schemas/llm/chatgpt/ToJsonAtomicUnion.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$ref": "#/$defs/ToJsonAtomicUnion", - "$defs": { - "ToJsonAtomicUnion": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ToJsonDouble.json b/test/schemas/llm/chatgpt/ToJsonDouble.json deleted file mode 100644 index 40016a9ee1..0000000000 --- a/test/schemas/llm/chatgpt/ToJsonDouble.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$ref": "#/$defs/ToJsonDouble.Child", - "$defs": { - "ToJsonDouble.Child": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "flag": { - "type": "boolean" - } - }, - "required": [ - "id", - "flag" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ToJsonTuple.json b/test/schemas/llm/chatgpt/ToJsonTuple.json deleted file mode 100644 index 1fd16e7dbf..0000000000 --- a/test/schemas/llm/chatgpt/ToJsonTuple.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$ref": "#/$defs/ToJsonTuple", - "$defs": { - "ToJsonTuple": { - "type": "array", - "prefixItems": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "$ref": "#/$defs/ToJsonTuple.IObject" - } - ], - "additionalItems": false - }, - "ToJsonTuple.IObject": { - "$ref": "#/$defs/ToJsonTuple.IHobby" - }, - "ToJsonTuple.IHobby": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "code", - "name" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/ToJsonUnion.json b/test/schemas/llm/chatgpt/ToJsonUnion.json deleted file mode 100644 index 925d314371..0000000000 --- a/test/schemas/llm/chatgpt/ToJsonUnion.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "$ref": "#/$defs/ToJsonUnion", - "$defs": { - "ToJsonUnion": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/$defs/ToJsonUnion.ICitizen" - }, - { - "$ref": "#/$defs/ToJsonUnion.IProduct" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "$ref": "#/$defs/ToJsonUnion.ICitizen" - } - ] - } - }, - "ToJsonUnion.ICitizen": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "mobile": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "mobile", - "name" - ], - "additionalProperties": false - }, - "ToJsonUnion.IProduct": { - "type": "object", - "properties": { - "manufacturer": { - "type": "string" - }, - "brand": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "manufacturer", - "brand", - "name" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TupleHierarchical.json b/test/schemas/llm/chatgpt/TupleHierarchical.json deleted file mode 100644 index 78a4d94c2f..0000000000 --- a/test/schemas/llm/chatgpt/TupleHierarchical.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "$ref": "#/$defs/TupleHierarchical", - "$defs": { - "TupleHierarchical": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "type": "number" - }, - { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "type": "array", - "prefixItems": [ - { - "type": "number" - }, - { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "string" - } - ], - "additionalItems": false - } - ], - "additionalItems": false - } - ], - "additionalItems": false - }, - { - "type": "array", - "prefixItems": [ - { - "type": "number" - }, - { - "type": "array", - "items": { - "type": "array", - "prefixItems": [ - { - "type": "string" - }, - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "array", - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "string" - } - ], - "additionalItems": false - } - ], - "additionalItems": false - } - } - ], - "additionalItems": false - } - } - ], - "additionalItems": false - } - ], - "additionalItems": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TupleRestArray.json b/test/schemas/llm/chatgpt/TupleRestArray.json deleted file mode 100644 index 9224edc632..0000000000 --- a/test/schemas/llm/chatgpt/TupleRestArray.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$ref": "#/$defs/TupleRestArray", - "$defs": { - "TupleRestArray": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "number" - } - ], - "additionalItems": { - "type": "array", - "items": { - "type": "string" - } - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TupleRestAtomic.json b/test/schemas/llm/chatgpt/TupleRestAtomic.json deleted file mode 100644 index 5edfddd16f..0000000000 --- a/test/schemas/llm/chatgpt/TupleRestAtomic.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$ref": "#/$defs/TupleRestAtomic", - "$defs": { - "TupleRestAtomic": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "number" - } - ], - "additionalItems": { - "type": "string" - } - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TupleRestObject.json b/test/schemas/llm/chatgpt/TupleRestObject.json deleted file mode 100644 index ff2b59c822..0000000000 --- a/test/schemas/llm/chatgpt/TupleRestObject.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$ref": "#/$defs/TupleRestObject", - "$defs": { - "TupleRestObject": { - "type": "array", - "prefixItems": [ - { - "type": "boolean" - }, - { - "type": "number" - } - ], - "additionalItems": { - "$ref": "#/$defs/TupleRestObject.IObject" - } - }, - "TupleRestObject.IObject": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagArray.json b/test/schemas/llm/chatgpt/TypeTagArray.json deleted file mode 100644 index 4f2721d156..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagArray.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagArray", - "$defs": { - "TypeTagArray": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/TypeTagArray.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TypeTagArray.Type": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 3, - "maxItems": 3 - }, - "minItems": { - "type": "array", - "items": { - "type": "number", - "minimum": 3 - }, - "minItems": 3 - }, - "both": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 3, - "maxItems": 7 - }, - "equal": { - "type": "array", - "items": { - "type": "number", - "minimum": 10, - "maximum": 10 - }, - "minItems": 10, - "maxItems": 10 - }, - "unique": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "required": [ - "items", - "minItems", - "both", - "equal", - "unique" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagArrayUnion.json b/test/schemas/llm/chatgpt/TypeTagArrayUnion.json deleted file mode 100644 index 5075b3ec69..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagArrayUnion.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagArrayUnion", - "$defs": { - "TypeTagArrayUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/TypeTagArrayUnion.Type" - } - }, - "TypeTagArrayUnion.Type": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 3, - "maxItems": 3 - }, - "minItems": { - "type": "array", - "items": { - "type": "number", - "minimum": 3 - }, - "minItems": 3 - }, - "maxItems": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "maxLength": 7 - }, - { - "type": "number", - "maximum": 7 - } - ] - }, - "maxItems": 7 - }, - "both": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 3, - "maxItems": 7 - } - }, - "required": [ - "items", - "minItems", - "maxItems", - "both" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagAtomicUnion.json b/test/schemas/llm/chatgpt/TypeTagAtomicUnion.json deleted file mode 100644 index 567b2e3145..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagAtomicUnion.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagAtomicUnion", - "$defs": { - "TypeTagAtomicUnion": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/TypeTagAtomicUnion.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TypeTagAtomicUnion.Type": { - "type": "object", - "properties": { - "value": { - "oneOf": [ - { - "type": "string", - "minLength": 3, - "maxLength": 7 - }, - { - "type": "number", - "minimum": 3 - } - ] - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagCustom.json b/test/schemas/llm/chatgpt/TypeTagCustom.json deleted file mode 100644 index 0a19e0dae7..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagCustom.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagCustom", - "$defs": { - "TypeTagCustom": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "dollar": { - "type": "string", - "x-typia-monetary": "dollar" - }, - "postfix": { - "type": "string", - "x-typia-postfix": "abcd" - }, - "powerOf": { - "type": "number", - "x-typia-powerOf": 2 - } - }, - "required": [ - "id", - "dollar", - "postfix", - "powerOf" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagDefault.json b/test/schemas/llm/chatgpt/TypeTagDefault.json deleted file mode 100644 index 7cf365ba75..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagDefault.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagDefault", - "$defs": { - "TypeTagDefault": { - "type": "object", - "properties": { - "boolean": { - "type": "boolean" - }, - "number": { - "type": "number", - "default": 1 - }, - "string": { - "type": "string", - "default": "two" - }, - "text": { - "type": "string", - "default": "Very long text, can you understand it?" - }, - "boolean_and_number_and_string": { - "oneOf": [ - { - "type": "number", - "default": 1 - }, - { - "type": "string", - "default": "two" - }, - { - "type": "boolean" - } - ] - }, - "union_but_boolean": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - }, - "union_but_number": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number", - "default": 1 - }, - { - "type": "boolean" - } - ] - }, - "union_but_string": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "string", - "default": "two" - }, - { - "type": "boolean" - } - ] - }, - "boolean_and_number_and_template": { - "oneOf": [ - { - "type": "string", - "pattern": "^(prefix_(.*))" - }, - { - "type": "number", - "default": 2 - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "boolean", - "number", - "string", - "text", - "boolean_and_number_and_string", - "union_but_boolean", - "union_but_number", - "union_but_string", - "boolean_and_number_and_template" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagFormat.json b/test/schemas/llm/chatgpt/TypeTagFormat.json deleted file mode 100644 index f2b1c40f94..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagFormat.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagFormat", - "$defs": { - "TypeTagFormat": { - "type": "object", - "properties": { - "byte": { - "type": "string", - "format": "byte" - }, - "password": { - "type": "string", - "format": "password" - }, - "regex": { - "type": "string", - "format": "regex" - }, - "uuid": { - "type": "string", - "format": "uuid" - }, - "email": { - "type": "string", - "format": "email" - }, - "hostname": { - "type": "string", - "format": "hostname" - }, - "idnEmail": { - "type": "string", - "format": "idn-email" - }, - "idnHostname": { - "type": "string", - "format": "idn-hostname" - }, - "iri": { - "type": "string", - "format": "iri" - }, - "iriReference": { - "type": "string", - "format": "iri-reference" - }, - "ipv4": { - "type": "string", - "format": "ipv4" - }, - "ipv6": { - "type": "string", - "format": "ipv6" - }, - "uri": { - "type": "string", - "format": "uri" - }, - "uriReference": { - "type": "string", - "format": "uri-reference" - }, - "uriTemplate": { - "type": "string", - "format": "uri-template" - }, - "url": { - "type": "string", - "format": "url" - }, - "datetime": { - "type": "string", - "format": "date-time" - }, - "date": { - "type": "string", - "format": "date" - }, - "time": { - "type": "string", - "format": "time" - }, - "duration": { - "type": "string", - "format": "duration" - }, - "jsonPointer": { - "type": "string", - "format": "json-pointer" - }, - "relativeJsonPointer": { - "type": "string", - "format": "relative-json-pointer" - } - }, - "required": [ - "byte", - "password", - "regex", - "uuid", - "email", - "hostname", - "idnEmail", - "idnHostname", - "iri", - "iriReference", - "ipv4", - "ipv6", - "uri", - "uriReference", - "uriTemplate", - "url", - "datetime", - "date", - "time", - "duration", - "jsonPointer", - "relativeJsonPointer" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagLength.json b/test/schemas/llm/chatgpt/TypeTagLength.json deleted file mode 100644 index b67546d699..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagLength.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagLength", - "$defs": { - "TypeTagLength": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/TypeTagLength.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TypeTagLength.Type": { - "type": "object", - "properties": { - "fixed": { - "type": "string", - "minLength": 5, - "maxLength": 5 - }, - "minimum": { - "type": "string", - "minLength": 3 - }, - "maximum": { - "type": "string", - "maxLength": 7 - }, - "minimum_and_maximum": { - "type": "string", - "minLength": 3, - "maxLength": 7 - }, - "equal": { - "type": "string", - "minLength": 10, - "maxLength": 19 - } - }, - "required": [ - "fixed", - "minimum", - "maximum", - "minimum_and_maximum", - "equal" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagMatrix.json b/test/schemas/llm/chatgpt/TypeTagMatrix.json deleted file mode 100644 index b8845d82d4..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagMatrix.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagMatrix", - "$defs": { - "TypeTagMatrix": { - "type": "object", - "properties": { - "matrix": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 4, - "maxItems": 4 - }, - "minItems": 3, - "maxItems": 3 - } - }, - "required": [ - "matrix" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagObjectUnion.json b/test/schemas/llm/chatgpt/TypeTagObjectUnion.json deleted file mode 100644 index 744448ef18..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagObjectUnion.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagObjectUnion", - "$defs": { - "TypeTagObjectUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/TypeTagObjectUnion.Type" - } - }, - "TypeTagObjectUnion.Type": { - "oneOf": [ - { - "$ref": "#/$defs/TypeTagObjectUnion.Numeric" - }, - { - "$ref": "#/$defs/TypeTagObjectUnion.Literal" - } - ] - }, - "TypeTagObjectUnion.Numeric": { - "type": "object", - "properties": { - "value": { - "type": "number", - "minimum": 3 - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TypeTagObjectUnion.Literal": { - "type": "object", - "properties": { - "value": { - "type": "string", - "minLength": 3, - "maxLength": 7 - } - }, - "required": [ - "value" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagPattern.json b/test/schemas/llm/chatgpt/TypeTagPattern.json deleted file mode 100644 index e4c84cbfe8..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagPattern.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagPattern", - "$defs": { - "TypeTagPattern": { - "type": "object", - "properties": { - "uuid": { - "type": "string", - "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" - }, - "email": { - "type": "string", - "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" - }, - "ipv4": { - "type": "string", - "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - }, - "ipv6": { - "type": "string", - "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" - } - }, - "required": [ - "uuid", - "email", - "ipv4", - "ipv6" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagRange.json b/test/schemas/llm/chatgpt/TypeTagRange.json deleted file mode 100644 index 3cefb6e5b9..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagRange.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagRange", - "$defs": { - "TypeTagRange": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/TypeTagRange.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TypeTagRange.Type": { - "type": "object", - "properties": { - "greater": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3 - }, - "greater_equal": { - "type": "integer", - "minimum": 3 - }, - "less": { - "type": "integer", - "exclusiveMaximum": true, - "maximum": 7 - }, - "less_equal": { - "type": "integer", - "maximum": 7 - }, - "greater_less": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_equal_less": { - "type": "integer", - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_less_equal": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "maximum": 7 - }, - "greater_equal_less_equal": { - "type": "integer", - "minimum": 3, - "maximum": 7 - }, - "equal": { - "type": "integer", - "minimum": 10, - "maximum": 10 - } - }, - "required": [ - "greater", - "greater_equal", - "less", - "less_equal", - "greater_less", - "greater_equal_less", - "greater_less_equal", - "greater_equal_less_equal", - "equal" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagTuple.json b/test/schemas/llm/chatgpt/TypeTagTuple.json deleted file mode 100644 index 4ec7d5c204..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagTuple.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagTuple", - "$defs": { - "TypeTagTuple": { - "type": "object", - "properties": { - "tuple": { - "type": "array", - "prefixItems": [ - { - "type": "string", - "minLength": 3, - "maxLength": 7 - }, - { - "type": "number", - "minimum": 3, - "maximum": 7 - }, - { - "type": "array", - "items": { - "type": "string", - "minLength": 1, - "maxLength": 2 - }, - "minItems": 3, - "maxItems": 7 - }, - { - "type": "array", - "items": { - "type": "number", - "minimum": 1, - "maximum": 2 - }, - "minItems": 3, - "maxItems": 7 - } - ], - "additionalItems": false - } - }, - "required": [ - "tuple" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/TypeTagType.json b/test/schemas/llm/chatgpt/TypeTagType.json deleted file mode 100644 index 555031998e..0000000000 --- a/test/schemas/llm/chatgpt/TypeTagType.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "$ref": "#/$defs/TypeTagType", - "$defs": { - "TypeTagType": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/$defs/TypeTagType.Type" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false - }, - "TypeTagType.Type": { - "type": "object", - "properties": { - "int": { - "type": "integer" - }, - "uint": { - "type": "integer" - }, - "int32": { - "type": "integer" - }, - "uint32": { - "type": "integer" - }, - "int64": { - "type": "integer" - }, - "uint64": { - "type": "integer" - }, - "float": { - "type": "number" - } - }, - "required": [ - "int", - "uint", - "int32", - "uint32", - "int64", - "uint64", - "float" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/chatgpt/UltimateUnion.json b/test/schemas/llm/chatgpt/UltimateUnion.json deleted file mode 100644 index 2daa9d77e0..0000000000 --- a/test/schemas/llm/chatgpt/UltimateUnion.json +++ /dev/null @@ -1,1114 +0,0 @@ -{ - "$ref": "#/$defs/UltimateUnion", - "$defs": { - "UltimateUnion": { - "type": "array", - "items": { - "$ref": "#/$defs/IJsonSchemaCollection.IV3_1Arrayunknown" - } - }, - "IJsonSchemaCollection.IV3_1Arrayunknown": { - "type": "object", - "properties": { - "version": { - "const": "3.1" - }, - "components": { - "$ref": "#/$defs/OpenApi.IComponentsOpenApi.IJsonSchema" - }, - "schemas": { - "type": "array", - "items": { - "$ref": "#/$defs/OpenApi.IJsonSchema" - } - }, - "__types": { - "type": "array", - "items": {} - } - }, - "required": [ - "version", - "components", - "schemas" - ], - "additionalProperties": false - }, - "OpenApi.IComponentsOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "schemas": { - "$ref": "#/$defs/RecordstringOpenApi.IJsonSchema", - "title": "An object to hold reusable DTO schemas", - "description": "An object to hold reusable DTO schemas.\n\nIn other words, a collection of named JSON schemas." - }, - "securitySchemes": { - "$ref": "#/$defs/RecordstringOpenApi.ISecurityScheme", - "title": "An object to hold reusable security schemes", - "description": "An object to hold reusable security schemes.\n\nIn other words, a collection of named security schemes." - } - }, - "description": "Reusable components in OpenAPI.\n\nA storage of reusable components in OpenAPI document.\n\nIn other words, it is a storage of named DTO schemas and security schemes.", - "additionalProperties": false - }, - "RecordstringOpenApi.IJsonSchema": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "$ref": "#/$defs/OpenApi.IJsonSchema" - } - }, - "OpenApi.IJsonSchema": { - "oneOf": [ - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Type schema info", - "description": "Type schema info.\n\n`OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n\n`OpenApi.IJsonSchema` basically follows the JSON schema definition of\nOpenAPI v3.1, but a little bit shrinked to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience and clarity.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@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.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link OpenApi.IJsonSchema.IObject}" - }, - "OpenApi.IJsonSchema.IString": { - "type": "object", - "properties": { - "default": { - "type": "string", - "title": "Default value", - "description": "Default value." - }, - "format": { - "type": "string", - "title": "Format restriction", - "description": "Format restriction." - }, - "pattern": { - "type": "string", - "title": "Pattern restriction", - "description": "Pattern restriction." - }, - "contentMediaType": { - "type": "string", - "title": "Content media type restriction", - "description": "Content media type restriction." - }, - "minLength": { - "type": "integer", - "title": "Minimum length restriction", - "description": "Minimum length restriction." - }, - "maxLength": { - "type": "integer", - "title": "Maximum length restriction", - "description": "Maximum length restriction." - }, - "type": { - "const": "string", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "String type info.", - "additionalProperties": false - }, - "Recordstringany": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": {} - }, - "OpenApi.IJsonSchema.INumber": { - "type": "object", - "properties": { - "default": { - "type": "number", - "title": "Default value", - "description": "Default value." - }, - "minimum": { - "type": "number", - "title": "Minimum value restriction", - "description": "Minimum value restriction." - }, - "maximum": { - "type": "number", - "title": "Maximum value restriction", - "description": "Maximum value restriction." - }, - "exclusiveMinimum": { - "type": "boolean", - "title": "Exclusive minimum value restriction", - "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." - }, - "exclusiveMaximum": { - "type": "boolean", - "title": "Exclusive maximum value restriction", - "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": true, - "minimum": 0, - "title": "Multiple of value restriction", - "description": "Multiple of value restriction." - }, - "type": { - "const": "number", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Number (double) type info.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IConstant": { - "type": "object", - "properties": { - "const": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ], - "title": "The constant value", - "description": "The constant value." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "const" - ], - "description": "Constant value type.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IBoolean": { - "type": "object", - "properties": { - "default": { - "type": "boolean", - "title": "The default value", - "description": "The default value." - }, - "type": { - "const": "boolean", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Boolean type info.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IInteger": { - "type": "object", - "properties": { - "default": { - "type": "integer", - "title": "Default value", - "description": "Default value." - }, - "minimum": { - "type": "integer", - "title": "Minimum value restriction", - "description": "Minimum value restriction." - }, - "maximum": { - "type": "integer", - "title": "Maximum value restriction", - "description": "Maximum value restriction." - }, - "exclusiveMinimum": { - "type": "boolean", - "title": "Exclusive minimum value restriction", - "description": "Exclusive minimum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMinimum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link minimum} property." - }, - "exclusiveMaximum": { - "type": "boolean", - "title": "Exclusive maximum value restriction", - "description": "Exclusive maximum value restriction.\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined the `exclusiveMaximum` value as `number`, {@link OpenApi}\nforcibly converts it to `boolean` type, and assign the numeric value to\nthe {@link maximum} property." - }, - "multipleOf": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 0, - "title": "Multiple of value restriction", - "description": "Multiple of value restriction." - }, - "type": { - "const": "integer", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Integer type info.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "items": { - "$ref": "#/$defs/OpenApi.IJsonSchema", - "title": "Items type info", - "description": "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type `Array`." - }, - "uniqueItems": { - "type": "boolean", - "title": "Unique items restriction", - "description": "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items." - }, - "minItems": { - "type": "integer", - "title": "Minimum items restriction", - "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the array." - }, - "maxItems": { - "type": "integer", - "title": "Maximum items restriction", - "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the array." - }, - "type": { - "const": "array", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "items", - "type" - ], - "description": "Array type info.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "prefixItems": { - "type": "array", - "items": { - "$ref": "#/$defs/OpenApi.IJsonSchema" - }, - "title": "Prefix items", - "description": "Prefix items.\n\nThe `prefixItems` means the type schema info of the prefix items in the\ntuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n\nIf you want to express `[T1, T2, ...TO[]]` type, you can configure the\n`...TO[]` through the {@link additionalItems} property." - }, - "additionalItems": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Additional items", - "description": "Additional items.\n\nThe `additionalItems` means the type schema info of the additional items\nafter the {@link prefixItems}. In the TypeScript, if there's a type\n`[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n\nBy the way, if you configure the `additionalItems` as `true`, it means\nthe additional items are not restricted. They can be any type, so that\nit is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n\nOtherwise configure the `additionalItems` as the {@link IJsonSchema},\nit means the additional items must follow the type schema info.\nTherefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`." - }, - "uniqueItems": { - "type": "boolean", - "title": "Unique items restriction", - "description": "Unique items restriction.\n\nIf this property value is `true`, target tuple must have unique items." - }, - "minItems": { - "type": "integer", - "title": "Minimum items restriction", - "description": "Minimum items restriction.\n\nRestriction of minumum number of items in the tuple." - }, - "maxItems": { - "type": "integer", - "title": "Maximum items restriction", - "description": "Maximum items restriction.\n\nRestriction of maximum number of items in the tuple." - }, - "type": { - "const": "array", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "prefixItems", - "type" - ], - "description": "Tuple type info.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "properties": { - "$ref": "#/$defs/RecordstringOpenApi.IJsonSchema", - "title": "Properties of the object", - "description": "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property,\nand the value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead." - }, - "additionalProperties": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IUnknown" - } - ], - "title": "Additional properties' info", - "description": "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `true`, it means that the additional properties are not\nrestricted. They can be any type. Otherwise, if the value is\n{@link IOpenAiSchema} type, it means that the additional properties must\nfollow the type schema info.\n\n- `true`: `Record`\n- `IOpenAiSchema`: `Record`" - }, - "required": { - "type": "array", - "items": { - "type": "string" - }, - "title": "List of key values of the required properties", - "description": "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be filled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso 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```" - }, - "type": { - "const": "object", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Object type info.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IReferencestring": { - "type": "object", - "properties": { - "$ref": { - "type": "string", - "title": "Reference to the named schema", - "description": "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link OpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`" - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "$ref" - ], - "description": "Reference type directing named schema.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IOneOfOpenApi.IJsonSchema": { - "type": "object", - "properties": { - "oneOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IString" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INumber" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IConstant" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IBoolean" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IInteger" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IArrayOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.ITupleOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IObjectOpenApi.IJsonSchema" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IReferencestring" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.INull" - }, - { - "$ref": "#/$defs/OpenApi.IJsonSchema.IUnknown" - } - ] - }, - "title": "List of the union types", - "description": "List of the union types." - }, - "discriminator": { - "$ref": "#/$defs/OpenApi.IJsonSchema.IOneOf.IDiscriminator", - "title": "Discriminator info of the union type", - "description": "Discriminator info of the union type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "oneOf" - ], - "description": "Union type.\n\nIOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has\ndefined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\nconverts it to `oneOf` type.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.INull": { - "type": "object", - "properties": { - "default": { - "type": "null", - "title": "Default value", - "description": "Default value." - }, - "type": { - "const": "null", - "title": "Discriminator value of the type", - "description": "Discriminator value of the type." - }, - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "required": [ - "type" - ], - "description": "Null type.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IUnknown": { - "type": "object", - "properties": { - "title": { - "type": "string", - "title": "Title of the schema", - "description": "Title of the schema." - }, - "description": { - "type": "string", - "title": "Detailed description of the schema", - "description": "Detailed description of the schema." - }, - "deprecated": { - "type": "boolean", - "title": "Whether the type is deprecated or not", - "description": "Whether the type is deprecated or not." - }, - "example": { - "title": "Example value", - "description": "Example value." - }, - "examples": { - "$ref": "#/$defs/Recordstringany", - "title": "List of example values as key-value pairs", - "description": "List of example values as key-value pairs." - } - }, - "description": "Unknown, the `any` type.", - "additionalProperties": false - }, - "OpenApi.IJsonSchema.IOneOf.IDiscriminator": { - "type": "object", - "properties": { - "propertyName": { - "type": "string", - "title": "Property name for the discriminator", - "description": "Property name for the discriminator." - }, - "mapping": { - "$ref": "#/$defs/Recordstringstring", - "title": "Mapping of the discriminator value to the schema name", - "description": "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\nthe discriminator value, and `value` of `mapping` is the\nschema name like `#/components/schemas/SomeObject`." - } - }, - "required": [ - "propertyName" - ], - "description": "Discriminator info of the union type.", - "additionalProperties": false - }, - "Recordstringstring": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "type": "string" - } - }, - "RecordstringOpenApi.ISecurityScheme": { - "type": "object", - "properties": {}, - "description": "Construct a type with a set of properties K of type T", - "additionalProperties": { - "$ref": "#/$defs/OpenApi.ISecurityScheme" - } - }, - "OpenApi.ISecurityScheme": { - "oneOf": [ - { - "$ref": "#/$defs/OpenApi.ISecurityScheme.IApiKey" - }, - { - "$ref": "#/$defs/OpenApi.ISecurityScheme.IHttpBasic" - }, - { - "$ref": "#/$defs/OpenApi.ISecurityScheme.IHttpBearer" - }, - { - "$ref": "#/$defs/OpenApi.ISecurityScheme.IOAuth2" - }, - { - "$ref": "#/$defs/OpenApi.ISecurityScheme.IOpenId" - } - ], - "title": "Security scheme of Swagger Documents", - "description": "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\nsecurity schemes as an union type like below." - }, - "OpenApi.ISecurityScheme.IApiKey": { - "type": "object", - "properties": { - "type": { - "const": "apiKey" - }, - "in": { - "oneOf": [ - { - "const": "cookie" - }, - { - "const": "header" - }, - { - "const": "query" - } - ] - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type" - ], - "description": "Normal API key type.", - "additionalProperties": false - }, - "OpenApi.ISecurityScheme.IHttpBasic": { - "type": "object", - "properties": { - "type": { - "const": "http" - }, - "scheme": { - "const": "basic" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "scheme" - ], - "description": "HTTP basic authentication type.", - "additionalProperties": false - }, - "OpenApi.ISecurityScheme.IHttpBearer": { - "type": "object", - "properties": { - "type": { - "const": "http" - }, - "scheme": { - "const": "bearer" - }, - "bearerFormat": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "scheme" - ], - "description": "HTTP bearer authentication type.", - "additionalProperties": false - }, - "OpenApi.ISecurityScheme.IOAuth2": { - "type": "object", - "properties": { - "type": { - "const": "oauth2" - }, - "flows": { - "$ref": "#/$defs/OpenApi.ISecurityScheme.IOAuth2.IFlowSet" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "flows" - ], - "description": "OAuth2 authentication type.", - "additionalProperties": false - }, - "OpenApi.ISecurityScheme.IOAuth2.IFlowSet": { - "type": "object", - "properties": { - "authorizationCode": { - "$ref": "#/$defs/OpenApi.ISecurityScheme.IOAuth2.IFlow" - }, - "implicit": { - "$ref": "#/$defs/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl" - }, - "password": { - "$ref": "#/$defs/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" - }, - "clientCredentials": { - "$ref": "#/$defs/OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl" - } - }, - "additionalProperties": false - }, - "OpenApi.ISecurityScheme.IOAuth2.IFlow": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" - }, - "tokenUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/$defs/Recordstringstring" - } - }, - "additionalProperties": false - }, - "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowtokenUrl": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/$defs/Recordstringstring" - } - }, - "description": "Construct a type with the properties of T except for those in type K.", - "additionalProperties": false - }, - "OmitOpenApi.ISecurityScheme.IOAuth2.IFlowauthorizationUrl": { - "type": "object", - "properties": { - "tokenUrl": { - "type": "string" - }, - "refreshUrl": { - "type": "string" - }, - "scopes": { - "$ref": "#/$defs/Recordstringstring" - } - }, - "description": "Construct a type with the properties of T except for those in type K.", - "additionalProperties": false - }, - "OpenApi.ISecurityScheme.IOpenId": { - "type": "object", - "properties": { - "type": { - "const": "openIdConnect" - }, - "openIdConnectUrl": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "type", - "openIdConnectUrl" - ], - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ArrayAny.json b/test/schemas/llm/gemini/ArrayAny.json deleted file mode 100644 index b99c6d056f..0000000000 --- a/test/schemas/llm/gemini/ArrayAny.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "type": "object", - "properties": { - "anys": { - "type": "array", - "items": {} - }, - "undefindable1": { - "type": "array", - "items": {} - }, - "undefindable2": { - "type": "array", - "items": {} - }, - "nullables1": { - "type": "array", - "items": {}, - "nullable": true - }, - "nullables2": { - "type": "array", - "items": {}, - "nullable": true - }, - "both1": { - "type": "array", - "items": {}, - "nullable": true - }, - "both2": { - "type": "array", - "items": {}, - "nullable": true - }, - "both3": { - "type": "array", - "items": {}, - "nullable": true - }, - "union": { - "type": "array", - "items": {} - } - }, - "required": [ - "anys", - "nullables1", - "nullables2", - "union" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ClassGetter.json b/test/schemas/llm/gemini/ClassGetter.json deleted file mode 100644 index b5bee62d8a..0000000000 --- a/test/schemas/llm/gemini/ClassGetter.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "dead": { - "type": "boolean", - "nullable": true - } - }, - "required": [ - "id", - "name", - "dead" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/CommentTagArray.json b/test/schemas/llm/gemini/CommentTagArray.json deleted file mode 100644 index 2cde513d93..0000000000 --- a/test/schemas/llm/gemini/CommentTagArray.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 3, - "maxItems": 3 - }, - "minItems": { - "type": "array", - "items": { - "type": "number" - }, - "minItems": 3 - }, - "both": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 3, - "maxItems": 7 - }, - "equal": { - "type": "array", - "items": { - "type": "number" - }, - "minItems": 10, - "maxItems": 10 - }, - "unique": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "required": [ - "items", - "minItems", - "both", - "equal", - "unique" - ], - "additionalProperties": false - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/CommentTagFormat.json b/test/schemas/llm/gemini/CommentTagFormat.json deleted file mode 100644 index 3822e1a6bd..0000000000 --- a/test/schemas/llm/gemini/CommentTagFormat.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "type": "object", - "properties": { - "byte": { - "type": "string", - "format": "byte" - }, - "password": { - "type": "string", - "format": "password" - }, - "regex": { - "type": "string", - "format": "regex" - }, - "uuid": { - "type": "string", - "format": "uuid" - }, - "email": { - "type": "string", - "format": "email" - }, - "hostname": { - "type": "string", - "format": "hostname" - }, - "idnEmail": { - "type": "string", - "format": "idn-email" - }, - "idnHostname": { - "type": "string", - "format": "idn-hostname" - }, - "iri": { - "type": "string", - "format": "iri" - }, - "iriReference": { - "type": "string", - "format": "iri-reference" - }, - "ipv4": { - "type": "string", - "format": "ipv4" - }, - "ipv6": { - "type": "string", - "format": "ipv6" - }, - "uri": { - "type": "string", - "format": "uri" - }, - "uriReference": { - "type": "string", - "format": "uri-reference" - }, - "uriTemplate": { - "type": "string", - "format": "uri-template" - }, - "url": { - "type": "string", - "format": "url" - }, - "datetime": { - "type": "string", - "format": "date-time" - }, - "date": { - "type": "string", - "format": "date" - }, - "time": { - "type": "string", - "format": "time" - }, - "duration": { - "type": "string", - "format": "duration" - }, - "jsonPointer": { - "type": "string", - "format": "json-pointer" - }, - "relativeJsonPointer": { - "type": "string", - "format": "relative-json-pointer" - } - }, - "required": [ - "byte", - "password", - "regex", - "uuid", - "email", - "hostname", - "idnEmail", - "idnHostname", - "iri", - "iriReference", - "ipv4", - "ipv6", - "uri", - "uriReference", - "uriTemplate", - "url", - "datetime", - "date", - "time", - "duration", - "jsonPointer", - "relativeJsonPointer" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/CommentTagLength.json b/test/schemas/llm/gemini/CommentTagLength.json deleted file mode 100644 index 79018d4b80..0000000000 --- a/test/schemas/llm/gemini/CommentTagLength.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fixed": { - "type": "string", - "minLength": 5, - "maxLength": 5 - }, - "minimum": { - "type": "string", - "minLength": 3 - }, - "maximum": { - "type": "string", - "maxLength": 7 - }, - "minimum_and_maximum": { - "type": "string", - "minLength": 3, - "maxLength": 7 - }, - "equal": { - "type": "string", - "minLength": 10, - "maxLength": 19 - } - }, - "required": [ - "fixed", - "minimum", - "maximum", - "minimum_and_maximum", - "equal" - ], - "additionalProperties": false - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/CommentTagPattern.json b/test/schemas/llm/gemini/CommentTagPattern.json deleted file mode 100644 index fb2e985935..0000000000 --- a/test/schemas/llm/gemini/CommentTagPattern.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "object", - "properties": { - "uuid": { - "type": "string", - "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" - }, - "email": { - "type": "string", - "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" - }, - "ipv4": { - "type": "string", - "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - }, - "ipv6": { - "type": "string", - "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" - } - }, - "required": [ - "uuid", - "email", - "ipv4", - "ipv6" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/CommentTagRange.json b/test/schemas/llm/gemini/CommentTagRange.json deleted file mode 100644 index f81fad64de..0000000000 --- a/test/schemas/llm/gemini/CommentTagRange.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "greater": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3 - }, - "greater_equal": { - "type": "integer", - "minimum": 3 - }, - "less": { - "type": "integer", - "exclusiveMaximum": true, - "maximum": 7 - }, - "less_equal": { - "type": "integer", - "maximum": 7 - }, - "greater_less": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_equal_less": { - "type": "integer", - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_less_equal": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "maximum": 7 - }, - "greater_equal_less_equal": { - "type": "integer", - "minimum": 3, - "maximum": 7 - }, - "equal": { - "type": "integer", - "minimum": 10, - "maximum": 10 - } - }, - "required": [ - "greater", - "greater_equal", - "less", - "less_equal", - "greater_less", - "greater_equal_less", - "greater_less_equal", - "greater_equal_less_equal", - "equal" - ], - "additionalProperties": false - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/CommentTagType.json b/test/schemas/llm/gemini/CommentTagType.json deleted file mode 100644 index bcf8e19203..0000000000 --- a/test/schemas/llm/gemini/CommentTagType.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "int": { - "type": "integer", - "title": "Integer value", - "description": "Integer value." - }, - "uint": { - "type": "integer", - "title": "Unsigned integer value", - "description": "Unsigned integer value." - }, - "int32": { - "type": "integer" - }, - "uint32": { - "type": "integer" - }, - "int64": { - "type": "integer" - }, - "uint64": { - "type": "integer" - }, - "float": { - "type": "number" - } - }, - "required": [ - "int", - "uint", - "int32", - "uint32", - "int64", - "uint64", - "float" - ], - "additionalProperties": false - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/DynamicArray.json b/test/schemas/llm/gemini/DynamicArray.json deleted file mode 100644 index 812b3a514c..0000000000 --- a/test/schemas/llm/gemini/DynamicArray.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": {}, - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/DynamicEnumeration.json b/test/schemas/llm/gemini/DynamicEnumeration.json deleted file mode 100644 index c2922e86e2..0000000000 --- a/test/schemas/llm/gemini/DynamicEnumeration.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "ar": { - "type": "string" - }, - "zh-Hans": { - "type": "string" - }, - "zh-Hant": { - "type": "string" - }, - "en": { - "type": "string" - }, - "fr": { - "type": "string" - }, - "de": { - "type": "string" - }, - "ja": { - "type": "string" - }, - "ko": { - "type": "string" - }, - "pt": { - "type": "string" - }, - "ru": { - "type": "string" - } - }, - "additionalProperties": false - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/DynamicNever.json b/test/schemas/llm/gemini/DynamicNever.json deleted file mode 100644 index 489a1b629f..0000000000 --- a/test/schemas/llm/gemini/DynamicNever.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "object", - "properties": {}, - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/DynamicSimple.json b/test/schemas/llm/gemini/DynamicSimple.json deleted file mode 100644 index 85df503c55..0000000000 --- a/test/schemas/llm/gemini/DynamicSimple.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": {}, - "additionalProperties": { - "type": "number" - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/DynamicUndefined.json b/test/schemas/llm/gemini/DynamicUndefined.json deleted file mode 100644 index 489a1b629f..0000000000 --- a/test/schemas/llm/gemini/DynamicUndefined.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "object", - "properties": {}, - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectDate.json b/test/schemas/llm/gemini/ObjectDate.json deleted file mode 100644 index fb19e12abf..0000000000 --- a/test/schemas/llm/gemini/ObjectDate.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "type": "object", - "properties": { - "classDate": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "date": { - "type": "string", - "format": "date", - "nullable": true - }, - "datetime": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "time": { - "type": "string", - "format": "time", - "nullable": true - }, - "duration": { - "type": "string", - "format": "duration", - "nullable": true - } - }, - "required": [ - "date", - "datetime", - "time", - "duration" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectDescription.json b/test/schemas/llm/gemini/ObjectDescription.json deleted file mode 100644 index 8b23dbd652..0000000000 --- a/test/schemas/llm/gemini/ObjectDescription.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid", - "title": "Primary Key", - "description": "Primary Key." - }, - "deprecated": { - "type": "boolean", - "title": "Deprecated property", - "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." - }, - "title": { - "type": "string", - "title": "This is the title", - "description": "Title tag can replace the first line of the comment." - }, - "descriptions": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Description property", - "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." - }, - "newLine": { - "type": "number", - "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." - } - }, - "required": [ - "id", - "deprecated", - "title", - "descriptions", - "newLine" - ], - "title": "This is the title of object type", - "description": "An interface designed to test JSON schema's object description.", - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectJsonTag.json b/test/schemas/llm/gemini/ObjectJsonTag.json deleted file mode 100644 index 2bcdd45888..0000000000 --- a/test/schemas/llm/gemini/ObjectJsonTag.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "type": "object", - "properties": { - "vulnerable": { - "type": "string", - "deprecated": true - }, - "description": { - "type": "string", - "title": "Descripted property", - "description": "Descripted property." - }, - "title": { - "type": "string", - "title": "something", - "description": "Titled property." - }, - "complicate_title": { - "type": "string", - "title": "something weirdo with {@link something } tag", - "description": "Complicate title." - } - }, - "required": [ - "vulnerable", - "description", - "title", - "complicate_title" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectLiteralType.json b/test/schemas/llm/gemini/ObjectLiteralType.json deleted file mode 100644 index 4cc6ebbfde..0000000000 --- a/test/schemas/llm/gemini/ObjectLiteralType.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "age": { - "type": "number" - } - }, - "required": [ - "id", - "name", - "age" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/ObjectOptional.json b/test/schemas/llm/gemini/ObjectOptional.json deleted file mode 100644 index c6312f9350..0000000000 --- a/test/schemas/llm/gemini/ObjectOptional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "email": { - "type": "string" - }, - "sequence": { - "type": "number" - } - }, - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TemplateAtomic.json b/test/schemas/llm/gemini/TemplateAtomic.json deleted file mode 100644 index 99e3f3ba0f..0000000000 --- a/test/schemas/llm/gemini/TemplateAtomic.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "type": "object", - "properties": { - "prefix": { - "type": "string", - "pattern": "^(prefix_(.*))" - }, - "postfix": { - "type": "string", - "pattern": "((.*)_postfix)$" - }, - "middle_string": { - "type": "string", - "pattern": "^(the_(.*)_value)$" - }, - "middle_string_empty": { - "type": "string", - "pattern": "^(the_(.*)_value)$" - }, - "middle_numeric": { - "type": "string", - "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" - }, - "middle_boolean": { - "type": "string", - "enum": [ - "the_false_value", - "the_true_value" - ] - }, - "ipv4": { - "type": "string", - "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" - }, - "email": { - "type": "string", - "pattern": "((.*)@(.*)\\.(.*))" - } - }, - "required": [ - "prefix", - "postfix", - "middle_string", - "middle_string_empty", - "middle_numeric", - "middle_boolean", - "ipv4", - "email" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagArray.json b/test/schemas/llm/gemini/TypeTagArray.json deleted file mode 100644 index fd0d97b857..0000000000 --- a/test/schemas/llm/gemini/TypeTagArray.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 3, - "maxItems": 3 - }, - "minItems": { - "type": "array", - "items": { - "type": "number", - "minimum": 3 - }, - "minItems": 3 - }, - "both": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 3, - "maxItems": 7 - }, - "equal": { - "type": "array", - "items": { - "type": "number", - "minimum": 10, - "maximum": 10 - }, - "minItems": 10, - "maxItems": 10 - }, - "unique": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "required": [ - "items", - "minItems", - "both", - "equal", - "unique" - ], - "additionalProperties": false - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagCustom.json b/test/schemas/llm/gemini/TypeTagCustom.json deleted file mode 100644 index 9f9c6e6cab..0000000000 --- a/test/schemas/llm/gemini/TypeTagCustom.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "dollar": { - "type": "string", - "x-typia-monetary": "dollar" - }, - "postfix": { - "type": "string", - "x-typia-postfix": "abcd" - }, - "powerOf": { - "type": "number", - "x-typia-powerOf": 2 - } - }, - "required": [ - "id", - "dollar", - "postfix", - "powerOf" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagFormat.json b/test/schemas/llm/gemini/TypeTagFormat.json deleted file mode 100644 index 3822e1a6bd..0000000000 --- a/test/schemas/llm/gemini/TypeTagFormat.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "type": "object", - "properties": { - "byte": { - "type": "string", - "format": "byte" - }, - "password": { - "type": "string", - "format": "password" - }, - "regex": { - "type": "string", - "format": "regex" - }, - "uuid": { - "type": "string", - "format": "uuid" - }, - "email": { - "type": "string", - "format": "email" - }, - "hostname": { - "type": "string", - "format": "hostname" - }, - "idnEmail": { - "type": "string", - "format": "idn-email" - }, - "idnHostname": { - "type": "string", - "format": "idn-hostname" - }, - "iri": { - "type": "string", - "format": "iri" - }, - "iriReference": { - "type": "string", - "format": "iri-reference" - }, - "ipv4": { - "type": "string", - "format": "ipv4" - }, - "ipv6": { - "type": "string", - "format": "ipv6" - }, - "uri": { - "type": "string", - "format": "uri" - }, - "uriReference": { - "type": "string", - "format": "uri-reference" - }, - "uriTemplate": { - "type": "string", - "format": "uri-template" - }, - "url": { - "type": "string", - "format": "url" - }, - "datetime": { - "type": "string", - "format": "date-time" - }, - "date": { - "type": "string", - "format": "date" - }, - "time": { - "type": "string", - "format": "time" - }, - "duration": { - "type": "string", - "format": "duration" - }, - "jsonPointer": { - "type": "string", - "format": "json-pointer" - }, - "relativeJsonPointer": { - "type": "string", - "format": "relative-json-pointer" - } - }, - "required": [ - "byte", - "password", - "regex", - "uuid", - "email", - "hostname", - "idnEmail", - "idnHostname", - "iri", - "iriReference", - "ipv4", - "ipv6", - "uri", - "uriReference", - "uriTemplate", - "url", - "datetime", - "date", - "time", - "duration", - "jsonPointer", - "relativeJsonPointer" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagLength.json b/test/schemas/llm/gemini/TypeTagLength.json deleted file mode 100644 index 79018d4b80..0000000000 --- a/test/schemas/llm/gemini/TypeTagLength.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fixed": { - "type": "string", - "minLength": 5, - "maxLength": 5 - }, - "minimum": { - "type": "string", - "minLength": 3 - }, - "maximum": { - "type": "string", - "maxLength": 7 - }, - "minimum_and_maximum": { - "type": "string", - "minLength": 3, - "maxLength": 7 - }, - "equal": { - "type": "string", - "minLength": 10, - "maxLength": 19 - } - }, - "required": [ - "fixed", - "minimum", - "maximum", - "minimum_and_maximum", - "equal" - ], - "additionalProperties": false - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagMatrix.json b/test/schemas/llm/gemini/TypeTagMatrix.json deleted file mode 100644 index 716980859a..0000000000 --- a/test/schemas/llm/gemini/TypeTagMatrix.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "object", - "properties": { - "matrix": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 4, - "maxItems": 4 - }, - "minItems": 3, - "maxItems": 3 - } - }, - "required": [ - "matrix" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagPattern.json b/test/schemas/llm/gemini/TypeTagPattern.json deleted file mode 100644 index f1d194ec67..0000000000 --- a/test/schemas/llm/gemini/TypeTagPattern.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "object", - "properties": { - "uuid": { - "type": "string", - "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" - }, - "email": { - "type": "string", - "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" - }, - "ipv4": { - "type": "string", - "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - }, - "ipv6": { - "type": "string", - "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" - } - }, - "required": [ - "uuid", - "email", - "ipv4", - "ipv6" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/llm/gemini/TypeTagRange.json b/test/schemas/llm/gemini/TypeTagRange.json deleted file mode 100644 index f81fad64de..0000000000 --- a/test/schemas/llm/gemini/TypeTagRange.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "object", - "properties": { - "greater": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3 - }, - "greater_equal": { - "type": "integer", - "minimum": 3 - }, - "less": { - "type": "integer", - "exclusiveMaximum": true, - "maximum": 7 - }, - "less_equal": { - "type": "integer", - "maximum": 7 - }, - "greater_less": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_equal_less": { - "type": "integer", - "minimum": 3, - "exclusiveMaximum": true, - "maximum": 7 - }, - "greater_less_equal": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 3, - "maximum": 7 - }, - "greater_equal_less_equal": { - "type": "integer", - "minimum": 3, - "maximum": 7 - }, - "equal": { - "type": "integer", - "minimum": 10, - "maximum": 10 - } - }, - "required": [ - "greater", - "greater_equal", - "less", - "less_equal", - "greater_less", - "greater_equal_less", - "greater_less_equal", - "greater_equal_less_equal", - "equal" - ], - "additionalProperties": false - } - } - }, - "required": [ - "value" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/test/schemas/reflect/metadata/UltimateUnion.json b/test/schemas/reflect/metadata/UltimateUnion.json index ae966c0f90..b06993ef10 100644 --- a/test/schemas/reflect/metadata/UltimateUnion.json +++ b/test/schemas/reflect/metadata/UltimateUnion.json @@ -5062,7 +5062,7 @@ "value": { "any": false, "required": true, - "optional": true, + "optional": false, "nullable": false, "functions": [], "atomics": [], diff --git a/test/src/debug/llm.schema.ts b/test/src/debug/llm.schema.ts new file mode 100644 index 0000000000..d8977acf5e --- /dev/null +++ b/test/src/debug/llm.schema.ts @@ -0,0 +1,22 @@ +import { IChatGptSchema } from "@samchon/openapi"; +import typia from "typia"; + +interface ICategory { + id: string; + code: string; + name: string; + children: ICategory[]; +} + +const $defs: Record = {}; +const schema: IChatGptSchema = typia.llm.schema($defs); +console.log( + JSON.stringify( + { + $defs, + schema, + }, + null, + 2, + ), +); diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAny.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAny.ts new file mode 100644 index 0000000000..f3b1884f5c --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAny.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayAny } from "../../../structures/ArrayAny"; + +export const test_json_application_v3_0_ArrayAny = _test_json_application({ + version: "3.0", + name: "ArrayAny", +})(typia.json.application()); + +interface ArrayAnyApplication { + insert(first: ArrayAny): Promise; + reduce(first: ArrayAny, second: ArrayAny | null): Promise; + coalesce( + first: ArrayAny | null, + second: ArrayAny | null, + third?: ArrayAny | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAtomicAlias.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAtomicAlias.ts new file mode 100644 index 0000000000..3b0a54ccc9 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAtomicAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayAtomicAlias } from "../../../structures/ArrayAtomicAlias"; + +export const test_json_application_v3_0_ArrayAtomicAlias = + _test_json_application({ + version: "3.0", + name: "ArrayAtomicAlias", + })(typia.json.application()); + +interface ArrayAtomicAliasApplication { + insert(first: ArrayAtomicAlias): Promise; + reduce( + first: ArrayAtomicAlias, + second: ArrayAtomicAlias | null, + ): Promise; + coalesce( + first: ArrayAtomicAlias | null, + second: ArrayAtomicAlias | null, + third?: ArrayAtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAtomicSimple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAtomicSimple.ts new file mode 100644 index 0000000000..76fd70de2a --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayAtomicSimple } from "../../../structures/ArrayAtomicSimple"; + +export const test_json_application_v3_0_ArrayAtomicSimple = + _test_json_application({ + version: "3.0", + name: "ArrayAtomicSimple", + })(typia.json.application()); + +interface ArrayAtomicSimpleApplication { + insert(first: ArrayAtomicSimple): Promise; + reduce( + first: ArrayAtomicSimple, + second: ArrayAtomicSimple | null, + ): Promise; + coalesce( + first: ArrayAtomicSimple | null, + second: ArrayAtomicSimple | null, + third?: ArrayAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayHierarchical.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayHierarchical.ts new file mode 100644 index 0000000000..37620255c7 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayHierarchical } from "../../../structures/ArrayHierarchical"; + +export const test_json_application_v3_0_ArrayHierarchical = + _test_json_application({ + version: "3.0", + name: "ArrayHierarchical", + })(typia.json.application()); + +interface ArrayHierarchicalApplication { + insert(first: ArrayHierarchical): Promise; + reduce( + first: ArrayHierarchical, + second: ArrayHierarchical | null, + ): Promise; + coalesce( + first: ArrayHierarchical | null, + second: ArrayHierarchical | null, + third?: ArrayHierarchical | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayHierarchicalPointer.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayHierarchicalPointer.ts new file mode 100644 index 0000000000..7c0832dee4 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayHierarchicalPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayHierarchicalPointer } from "../../../structures/ArrayHierarchicalPointer"; + +export const test_json_application_v3_0_ArrayHierarchicalPointer = + _test_json_application({ + version: "3.0", + name: "ArrayHierarchicalPointer", + })(typia.json.application()); + +interface ArrayHierarchicalPointerApplication { + insert(first: ArrayHierarchicalPointer): Promise; + reduce( + first: ArrayHierarchicalPointer, + second: ArrayHierarchicalPointer | null, + ): Promise; + coalesce( + first: ArrayHierarchicalPointer | null, + second: ArrayHierarchicalPointer | null, + third?: ArrayHierarchicalPointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayMatrix.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayMatrix.ts new file mode 100644 index 0000000000..e8779e819e --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayMatrix.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayMatrix } from "../../../structures/ArrayMatrix"; + +export const test_json_application_v3_0_ArrayMatrix = _test_json_application({ + version: "3.0", + name: "ArrayMatrix", +})(typia.json.application()); + +interface ArrayMatrixApplication { + insert(first: ArrayMatrix): Promise; + reduce(first: ArrayMatrix, second: ArrayMatrix | null): Promise; + coalesce( + first: ArrayMatrix | null, + second: ArrayMatrix | null, + third?: ArrayMatrix | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursive.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursive.ts new file mode 100644 index 0000000000..4dfc4419da --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursive.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_json_application_v3_0_ArrayRecursive = _test_json_application( + { + version: "3.0", + name: "ArrayRecursive", + }, +)(typia.json.application()); + +interface ArrayRecursiveApplication { + insert(first: ArrayRecursive): Promise; + reduce( + first: ArrayRecursive, + second: ArrayRecursive | null, + ): Promise; + coalesce( + first: ArrayRecursive | null, + second: ArrayRecursive | null, + third?: ArrayRecursive | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionExplicit.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionExplicit.ts new file mode 100644 index 0000000000..1bbb0b7a1d --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursiveUnionExplicit } from "../../../structures/ArrayRecursiveUnionExplicit"; + +export const test_json_application_v3_0_ArrayRecursiveUnionExplicit = + _test_json_application({ + version: "3.0", + name: "ArrayRecursiveUnionExplicit", + })(typia.json.application()); + +interface ArrayRecursiveUnionExplicitApplication { + insert(first: ArrayRecursiveUnionExplicit): Promise; + reduce( + first: ArrayRecursiveUnionExplicit, + second: ArrayRecursiveUnionExplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicit | null, + second: ArrayRecursiveUnionExplicit | null, + third?: ArrayRecursiveUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionExplicitPointer.ts new file mode 100644 index 0000000000..d78bd3c9bd --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionExplicitPointer.ts @@ -0,0 +1,28 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursiveUnionExplicitPointer } from "../../../structures/ArrayRecursiveUnionExplicitPointer"; + +export const test_json_application_v3_0_ArrayRecursiveUnionExplicitPointer = + _test_json_application({ + version: "3.0", + name: "ArrayRecursiveUnionExplicitPointer", + })( + typia.json.application< + ArrayRecursiveUnionExplicitPointerApplication, + "3.0" + >(), + ); + +interface ArrayRecursiveUnionExplicitPointerApplication { + insert(first: ArrayRecursiveUnionExplicitPointer): Promise; + reduce( + first: ArrayRecursiveUnionExplicitPointer, + second: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicitPointer | null, + second: ArrayRecursiveUnionExplicitPointer | null, + third?: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionImplicit.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionImplicit.ts new file mode 100644 index 0000000000..b10ea12b60 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRecursiveUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursiveUnionImplicit } from "../../../structures/ArrayRecursiveUnionImplicit"; + +export const test_json_application_v3_0_ArrayRecursiveUnionImplicit = + _test_json_application({ + version: "3.0", + name: "ArrayRecursiveUnionImplicit", + })(typia.json.application()); + +interface ArrayRecursiveUnionImplicitApplication { + insert(first: ArrayRecursiveUnionImplicit): Promise; + reduce( + first: ArrayRecursiveUnionImplicit, + second: ArrayRecursiveUnionImplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionImplicit | null, + second: ArrayRecursiveUnionImplicit | null, + third?: ArrayRecursiveUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedNullable.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedNullable.ts new file mode 100644 index 0000000000..0034c4b2a3 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable"; + +export const test_json_application_v3_0_ArrayRepeatedNullable = + _test_json_application({ + version: "3.0", + name: "ArrayRepeatedNullable", + })(typia.json.application()); + +interface ArrayRepeatedNullableApplication { + insert(first: ArrayRepeatedNullable): Promise; + reduce( + first: ArrayRepeatedNullable, + second: ArrayRepeatedNullable | null, + ): Promise; + coalesce( + first: ArrayRepeatedNullable | null, + second: ArrayRepeatedNullable | null, + third?: ArrayRepeatedNullable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedRequired.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedRequired.ts new file mode 100644 index 0000000000..3353eec656 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired"; + +export const test_json_application_v3_0_ArrayRepeatedRequired = + _test_json_application({ + version: "3.0", + name: "ArrayRepeatedRequired", + })(typia.json.application()); + +interface ArrayRepeatedRequiredApplication { + insert(first: ArrayRepeatedRequired): Promise; + reduce( + first: ArrayRepeatedRequired, + second: ArrayRepeatedRequired | null, + ): Promise; + coalesce( + first: ArrayRepeatedRequired | null, + second: ArrayRepeatedRequired | null, + third?: ArrayRepeatedRequired | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedUnion.ts new file mode 100644 index 0000000000..4747e13958 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; + +export const test_json_application_v3_0_ArrayRepeatedUnion = + _test_json_application({ + version: "3.0", + name: "ArrayRepeatedUnion", + })(typia.json.application()); + +interface ArrayRepeatedUnionApplication { + insert(first: ArrayRepeatedUnion): Promise; + reduce( + first: ArrayRepeatedUnion, + second: ArrayRepeatedUnion | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnion | null, + second: ArrayRepeatedUnion | null, + third?: ArrayRepeatedUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedUnionWithTuple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedUnionWithTuple.ts new file mode 100644 index 0000000000..318aa39b6e --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayRepeatedUnionWithTuple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedUnionWithTuple } from "../../../structures/ArrayRepeatedUnionWithTuple"; + +export const test_json_application_v3_0_ArrayRepeatedUnionWithTuple = + _test_json_application({ + version: "3.0", + name: "ArrayRepeatedUnionWithTuple", + })(typia.json.application()); + +interface ArrayRepeatedUnionWithTupleApplication { + insert(first: ArrayRepeatedUnionWithTuple): Promise; + reduce( + first: ArrayRepeatedUnionWithTuple, + second: ArrayRepeatedUnionWithTuple | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnionWithTuple | null, + second: ArrayRepeatedUnionWithTuple | null, + third?: ArrayRepeatedUnionWithTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArraySimple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArraySimple.ts new file mode 100644 index 0000000000..8595778f63 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArraySimple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArraySimple } from "../../../structures/ArraySimple"; + +export const test_json_application_v3_0_ArraySimple = _test_json_application({ + version: "3.0", + name: "ArraySimple", +})(typia.json.application()); + +interface ArraySimpleApplication { + insert(first: ArraySimple): Promise; + reduce(first: ArraySimple, second: ArraySimple | null): Promise; + coalesce( + first: ArraySimple | null, + second: ArraySimple | null, + third?: ArraySimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayUnion.ts new file mode 100644 index 0000000000..cc5c065040 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ArrayUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayUnion } from "../../../structures/ArrayUnion"; + +export const test_json_application_v3_0_ArrayUnion = _test_json_application({ + version: "3.0", + name: "ArrayUnion", +})(typia.json.application()); + +interface ArrayUnionApplication { + insert(first: ArrayUnion): Promise; + reduce(first: ArrayUnion, second: ArrayUnion | null): Promise; + coalesce( + first: ArrayUnion | null, + second: ArrayUnion | null, + third?: ArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicAlias.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicAlias.ts new file mode 100644 index 0000000000..2457427105 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicAlias } from "../../../structures/AtomicAlias"; + +export const test_json_application_v3_0_AtomicAlias = _test_json_application({ + version: "3.0", + name: "AtomicAlias", +})(typia.json.application()); + +interface AtomicAliasApplication { + insert(first: AtomicAlias): Promise; + reduce(first: AtomicAlias, second: AtomicAlias | null): Promise; + coalesce( + first: AtomicAlias | null, + second: AtomicAlias | null, + third?: AtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicClass.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicClass.ts new file mode 100644 index 0000000000..0e8f487cc5 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicClass.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicClass } from "../../../structures/AtomicClass"; + +export const test_json_application_v3_0_AtomicClass = _test_json_application({ + version: "3.0", + name: "AtomicClass", +})(typia.json.application()); + +interface AtomicClassApplication { + insert(first: AtomicClass): Promise; + reduce(first: AtomicClass, second: AtomicClass | null): Promise; + coalesce( + first: AtomicClass | null, + second: AtomicClass | null, + third?: AtomicClass | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicIntersection.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicIntersection.ts new file mode 100644 index 0000000000..a852a5f238 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicIntersection } from "../../../structures/AtomicIntersection"; + +export const test_json_application_v3_0_AtomicIntersection = + _test_json_application({ + version: "3.0", + name: "AtomicIntersection", + })(typia.json.application()); + +interface AtomicIntersectionApplication { + insert(first: AtomicIntersection): Promise; + reduce( + first: AtomicIntersection, + second: AtomicIntersection | null, + ): Promise; + coalesce( + first: AtomicIntersection | null, + second: AtomicIntersection | null, + third?: AtomicIntersection | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicSimple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicSimple.ts new file mode 100644 index 0000000000..9873d5a7ab --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicSimple } from "../../../structures/AtomicSimple"; + +export const test_json_application_v3_0_AtomicSimple = _test_json_application({ + version: "3.0", + name: "AtomicSimple", +})(typia.json.application()); + +interface AtomicSimpleApplication { + insert(first: AtomicSimple): Promise; + reduce( + first: AtomicSimple, + second: AtomicSimple | null, + ): Promise; + coalesce( + first: AtomicSimple | null, + second: AtomicSimple | null, + third?: AtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicUnion.ts new file mode 100644 index 0000000000..f804c3d583 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_AtomicUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicUnion } from "../../../structures/AtomicUnion"; + +export const test_json_application_v3_0_AtomicUnion = _test_json_application({ + version: "3.0", + name: "AtomicUnion", +})(typia.json.application()); + +interface AtomicUnionApplication { + insert(first: AtomicUnion): Promise; + reduce(first: AtomicUnion, second: AtomicUnion | null): Promise; + coalesce( + first: AtomicUnion | null, + second: AtomicUnion | null, + third?: AtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassGetter.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassGetter.ts new file mode 100644 index 0000000000..08016ed909 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassGetter.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ClassGetter } from "../../../structures/ClassGetter"; + +export const test_json_application_v3_0_ClassGetter = _test_json_application({ + version: "3.0", + name: "ClassGetter", +})(typia.json.application()); + +interface ClassGetterApplication { + insert(first: ClassGetter): Promise; + reduce(first: ClassGetter, second: ClassGetter | null): Promise; + coalesce( + first: ClassGetter | null, + second: ClassGetter | null, + third?: ClassGetter | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassMethod.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassMethod.ts new file mode 100644 index 0000000000..741cf5ccd9 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassMethod.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ClassMethod } from "../../../structures/ClassMethod"; + +export const test_json_application_v3_0_ClassMethod = _test_json_application({ + version: "3.0", + name: "ClassMethod", +})(typia.json.application()); + +interface ClassMethodApplication { + insert(first: ClassMethod): Promise; + reduce(first: ClassMethod, second: ClassMethod | null): Promise; + coalesce( + first: ClassMethod | null, + second: ClassMethod | null, + third?: ClassMethod | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassPropertyAssignment.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassPropertyAssignment.ts new file mode 100644 index 0000000000..5ad2a0e0aa --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ClassPropertyAssignment.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ClassPropertyAssignment } from "../../../structures/ClassPropertyAssignment"; + +export const test_json_application_v3_0_ClassPropertyAssignment = + _test_json_application({ + version: "3.0", + name: "ClassPropertyAssignment", + })(typia.json.application()); + +interface ClassPropertyAssignmentApplication { + insert(first: ClassPropertyAssignment): Promise; + reduce( + first: ClassPropertyAssignment, + second: ClassPropertyAssignment | null, + ): Promise; + coalesce( + first: ClassPropertyAssignment | null, + second: ClassPropertyAssignment | null, + third?: ClassPropertyAssignment | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagArray.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagArray.ts new file mode 100644 index 0000000000..07e26c4337 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagArray } from "../../../structures/CommentTagArray"; + +export const test_json_application_v3_0_CommentTagArray = + _test_json_application({ + version: "3.0", + name: "CommentTagArray", + })(typia.json.application()); + +interface CommentTagArrayApplication { + insert(first: CommentTagArray): Promise; + reduce( + first: CommentTagArray, + second: CommentTagArray | null, + ): Promise; + coalesce( + first: CommentTagArray | null, + second: CommentTagArray | null, + third?: CommentTagArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagArrayUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagArrayUnion.ts new file mode 100644 index 0000000000..9e9b724e24 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagArrayUnion } from "../../../structures/CommentTagArrayUnion"; + +export const test_json_application_v3_0_CommentTagArrayUnion = + _test_json_application({ + version: "3.0", + name: "CommentTagArrayUnion", + })(typia.json.application()); + +interface CommentTagArrayUnionApplication { + insert(first: CommentTagArrayUnion): Promise; + reduce( + first: CommentTagArrayUnion, + second: CommentTagArrayUnion | null, + ): Promise; + coalesce( + first: CommentTagArrayUnion | null, + second: CommentTagArrayUnion | null, + third?: CommentTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagAtomicUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagAtomicUnion.ts new file mode 100644 index 0000000000..0e554673d2 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagAtomicUnion } from "../../../structures/CommentTagAtomicUnion"; + +export const test_json_application_v3_0_CommentTagAtomicUnion = + _test_json_application({ + version: "3.0", + name: "CommentTagAtomicUnion", + })(typia.json.application()); + +interface CommentTagAtomicUnionApplication { + insert(first: CommentTagAtomicUnion): Promise; + reduce( + first: CommentTagAtomicUnion, + second: CommentTagAtomicUnion | null, + ): Promise; + coalesce( + first: CommentTagAtomicUnion | null, + second: CommentTagAtomicUnion | null, + third?: CommentTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagDefault.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagDefault.ts new file mode 100644 index 0000000000..40c4912a1c --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagDefault.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagDefault } from "../../../structures/CommentTagDefault"; + +export const test_json_application_v3_0_CommentTagDefault = + _test_json_application({ + version: "3.0", + name: "CommentTagDefault", + })(typia.json.application()); + +interface CommentTagDefaultApplication { + insert(first: CommentTagDefault): Promise; + reduce( + first: CommentTagDefault, + second: CommentTagDefault | null, + ): Promise; + coalesce( + first: CommentTagDefault | null, + second: CommentTagDefault | null, + third?: CommentTagDefault | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagFormat.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagFormat.ts new file mode 100644 index 0000000000..f67808b16d --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagFormat.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagFormat } from "../../../structures/CommentTagFormat"; + +export const test_json_application_v3_0_CommentTagFormat = + _test_json_application({ + version: "3.0", + name: "CommentTagFormat", + })(typia.json.application()); + +interface CommentTagFormatApplication { + insert(first: CommentTagFormat): Promise; + reduce( + first: CommentTagFormat, + second: CommentTagFormat | null, + ): Promise; + coalesce( + first: CommentTagFormat | null, + second: CommentTagFormat | null, + third?: CommentTagFormat | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagLength.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagLength.ts new file mode 100644 index 0000000000..4067c3d52d --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagLength.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagLength } from "../../../structures/CommentTagLength"; + +export const test_json_application_v3_0_CommentTagLength = + _test_json_application({ + version: "3.0", + name: "CommentTagLength", + })(typia.json.application()); + +interface CommentTagLengthApplication { + insert(first: CommentTagLength): Promise; + reduce( + first: CommentTagLength, + second: CommentTagLength | null, + ): Promise; + coalesce( + first: CommentTagLength | null, + second: CommentTagLength | null, + third?: CommentTagLength | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagObjectUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagObjectUnion.ts new file mode 100644 index 0000000000..8fd7abb293 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagObjectUnion } from "../../../structures/CommentTagObjectUnion"; + +export const test_json_application_v3_0_CommentTagObjectUnion = + _test_json_application({ + version: "3.0", + name: "CommentTagObjectUnion", + })(typia.json.application()); + +interface CommentTagObjectUnionApplication { + insert(first: CommentTagObjectUnion): Promise; + reduce( + first: CommentTagObjectUnion, + second: CommentTagObjectUnion | null, + ): Promise; + coalesce( + first: CommentTagObjectUnion | null, + second: CommentTagObjectUnion | null, + third?: CommentTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagPattern.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagPattern.ts new file mode 100644 index 0000000000..770bcc23b0 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagPattern.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagPattern } from "../../../structures/CommentTagPattern"; + +export const test_json_application_v3_0_CommentTagPattern = + _test_json_application({ + version: "3.0", + name: "CommentTagPattern", + })(typia.json.application()); + +interface CommentTagPatternApplication { + insert(first: CommentTagPattern): Promise; + reduce( + first: CommentTagPattern, + second: CommentTagPattern | null, + ): Promise; + coalesce( + first: CommentTagPattern | null, + second: CommentTagPattern | null, + third?: CommentTagPattern | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagRange.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagRange.ts new file mode 100644 index 0000000000..436873c90d --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagRange.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagRange } from "../../../structures/CommentTagRange"; + +export const test_json_application_v3_0_CommentTagRange = + _test_json_application({ + version: "3.0", + name: "CommentTagRange", + })(typia.json.application()); + +interface CommentTagRangeApplication { + insert(first: CommentTagRange): Promise; + reduce( + first: CommentTagRange, + second: CommentTagRange | null, + ): Promise; + coalesce( + first: CommentTagRange | null, + second: CommentTagRange | null, + third?: CommentTagRange | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagType.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagType.ts new file mode 100644 index 0000000000..30f585636c --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_CommentTagType.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagType } from "../../../structures/CommentTagType"; + +export const test_json_application_v3_0_CommentTagType = _test_json_application( + { + version: "3.0", + name: "CommentTagType", + }, +)(typia.json.application()); + +interface CommentTagTypeApplication { + insert(first: CommentTagType): Promise; + reduce( + first: CommentTagType, + second: CommentTagType | null, + ): Promise; + coalesce( + first: CommentTagType | null, + second: CommentTagType | null, + third?: CommentTagType | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicAbsorbed.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicAbsorbed.ts new file mode 100644 index 0000000000..49dee4c904 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicAbsorbed.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicAbsorbed } from "../../../structures/ConstantAtomicAbsorbed"; + +export const test_json_application_v3_0_ConstantAtomicAbsorbed = + _test_json_application({ + version: "3.0", + name: "ConstantAtomicAbsorbed", + })(typia.json.application()); + +interface ConstantAtomicAbsorbedApplication { + insert(first: ConstantAtomicAbsorbed): Promise; + reduce( + first: ConstantAtomicAbsorbed, + second: ConstantAtomicAbsorbed | null, + ): Promise; + coalesce( + first: ConstantAtomicAbsorbed | null, + second: ConstantAtomicAbsorbed | null, + third?: ConstantAtomicAbsorbed | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicSimple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicSimple.ts new file mode 100644 index 0000000000..10909a5de9 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicSimple } from "../../../structures/ConstantAtomicSimple"; + +export const test_json_application_v3_0_ConstantAtomicSimple = + _test_json_application({ + version: "3.0", + name: "ConstantAtomicSimple", + })(typia.json.application()); + +interface ConstantAtomicSimpleApplication { + insert(first: ConstantAtomicSimple): Promise; + reduce( + first: ConstantAtomicSimple, + second: ConstantAtomicSimple | null, + ): Promise; + coalesce( + first: ConstantAtomicSimple | null, + second: ConstantAtomicSimple | null, + third?: ConstantAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicTagged.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicTagged.ts new file mode 100644 index 0000000000..60f211800f --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicTagged.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicTagged } from "../../../structures/ConstantAtomicTagged"; + +export const test_json_application_v3_0_ConstantAtomicTagged = + _test_json_application({ + version: "3.0", + name: "ConstantAtomicTagged", + })(typia.json.application()); + +interface ConstantAtomicTaggedApplication { + insert(first: ConstantAtomicTagged): Promise; + reduce( + first: ConstantAtomicTagged, + second: ConstantAtomicTagged | null, + ): Promise; + coalesce( + first: ConstantAtomicTagged | null, + second: ConstantAtomicTagged | null, + third?: ConstantAtomicTagged | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicUnion.ts new file mode 100644 index 0000000000..c7c80b478a --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicUnion } from "../../../structures/ConstantAtomicUnion"; + +export const test_json_application_v3_0_ConstantAtomicUnion = + _test_json_application({ + version: "3.0", + name: "ConstantAtomicUnion", + })(typia.json.application()); + +interface ConstantAtomicUnionApplication { + insert(first: ConstantAtomicUnion): Promise; + reduce( + first: ConstantAtomicUnion, + second: ConstantAtomicUnion | null, + ): Promise; + coalesce( + first: ConstantAtomicUnion | null, + second: ConstantAtomicUnion | null, + third?: ConstantAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicWrapper.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicWrapper.ts new file mode 100644 index 0000000000..7d85071ef1 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantAtomicWrapper.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicWrapper } from "../../../structures/ConstantAtomicWrapper"; + +export const test_json_application_v3_0_ConstantAtomicWrapper = + _test_json_application({ + version: "3.0", + name: "ConstantAtomicWrapper", + })(typia.json.application()); + +interface ConstantAtomicWrapperApplication { + insert(first: ConstantAtomicWrapper): Promise; + reduce( + first: ConstantAtomicWrapper, + second: ConstantAtomicWrapper | null, + ): Promise; + coalesce( + first: ConstantAtomicWrapper | null, + second: ConstantAtomicWrapper | null, + third?: ConstantAtomicWrapper | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantConstEnumeration.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantConstEnumeration.ts new file mode 100644 index 0000000000..8871470336 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantConstEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantConstEnumeration } from "../../../structures/ConstantConstEnumeration"; + +export const test_json_application_v3_0_ConstantConstEnumeration = + _test_json_application({ + version: "3.0", + name: "ConstantConstEnumeration", + })(typia.json.application()); + +interface ConstantConstEnumerationApplication { + insert(first: ConstantConstEnumeration): Promise; + reduce( + first: ConstantConstEnumeration, + second: ConstantConstEnumeration | null, + ): Promise; + coalesce( + first: ConstantConstEnumeration | null, + second: ConstantConstEnumeration | null, + third?: ConstantConstEnumeration | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantEnumeration.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantEnumeration.ts new file mode 100644 index 0000000000..8018ea79b7 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantEnumeration } from "../../../structures/ConstantEnumeration"; + +export const test_json_application_v3_0_ConstantEnumeration = + _test_json_application({ + version: "3.0", + name: "ConstantEnumeration", + })(typia.json.application()); + +interface ConstantEnumerationApplication { + insert(first: ConstantEnumeration): Promise; + reduce( + first: ConstantEnumeration, + second: ConstantEnumeration | null, + ): Promise; + coalesce( + first: ConstantEnumeration | null, + second: ConstantEnumeration | null, + third?: ConstantEnumeration | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantIntersection.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantIntersection.ts new file mode 100644 index 0000000000..5dd644cb6c --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ConstantIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantIntersection } from "../../../structures/ConstantIntersection"; + +export const test_json_application_v3_0_ConstantIntersection = + _test_json_application({ + version: "3.0", + name: "ConstantIntersection", + })(typia.json.application()); + +interface ConstantIntersectionApplication { + insert(first: ConstantIntersection): Promise; + reduce( + first: ConstantIntersection, + second: ConstantIntersection | null, + ): Promise; + coalesce( + first: ConstantIntersection | null, + second: ConstantIntersection | null, + third?: ConstantIntersection | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicArray.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicArray.ts new file mode 100644 index 0000000000..3facc1af34 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicArray } from "../../../structures/DynamicArray"; + +export const test_json_application_v3_0_DynamicArray = _test_json_application({ + version: "3.0", + name: "DynamicArray", +})(typia.json.application()); + +interface DynamicArrayApplication { + insert(first: DynamicArray): Promise; + reduce( + first: DynamicArray, + second: DynamicArray | null, + ): Promise; + coalesce( + first: DynamicArray | null, + second: DynamicArray | null, + third?: DynamicArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicComposite.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicComposite.ts new file mode 100644 index 0000000000..a5e8d6deeb --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicComposite } from "../../../structures/DynamicComposite"; + +export const test_json_application_v3_0_DynamicComposite = + _test_json_application({ + version: "3.0", + name: "DynamicComposite", + })(typia.json.application()); + +interface DynamicCompositeApplication { + insert(first: DynamicComposite): Promise; + reduce( + first: DynamicComposite, + second: DynamicComposite | null, + ): Promise; + coalesce( + first: DynamicComposite | null, + second: DynamicComposite | null, + third?: DynamicComposite | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicConstant.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicConstant.ts new file mode 100644 index 0000000000..c2a6adedfd --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicConstant } from "../../../structures/DynamicConstant"; + +export const test_json_application_v3_0_DynamicConstant = + _test_json_application({ + version: "3.0", + name: "DynamicConstant", + })(typia.json.application()); + +interface DynamicConstantApplication { + insert(first: DynamicConstant): Promise; + reduce( + first: DynamicConstant, + second: DynamicConstant | null, + ): Promise; + coalesce( + first: DynamicConstant | null, + second: DynamicConstant | null, + third?: DynamicConstant | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicEnumeration.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicEnumeration.ts new file mode 100644 index 0000000000..703be593e6 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicEnumeration } from "../../../structures/DynamicEnumeration"; + +export const test_json_application_v3_0_DynamicEnumeration = + _test_json_application({ + version: "3.0", + name: "DynamicEnumeration", + })(typia.json.application()); + +interface DynamicEnumerationApplication { + insert(first: DynamicEnumeration): Promise; + reduce( + first: DynamicEnumeration, + second: DynamicEnumeration | null, + ): Promise; + coalesce( + first: DynamicEnumeration | null, + second: DynamicEnumeration | null, + third?: DynamicEnumeration | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicNever.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicNever.ts new file mode 100644 index 0000000000..5c8c34153b --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicNever.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicNever } from "../../../structures/DynamicNever"; + +export const test_json_application_v3_0_DynamicNever = _test_json_application({ + version: "3.0", + name: "DynamicNever", +})(typia.json.application()); + +interface DynamicNeverApplication { + insert(first: DynamicNever): Promise; + reduce( + first: DynamicNever, + second: DynamicNever | null, + ): Promise; + coalesce( + first: DynamicNever | null, + second: DynamicNever | null, + third?: DynamicNever | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicSimple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicSimple.ts new file mode 100644 index 0000000000..b92409e2a4 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicSimple } from "../../../structures/DynamicSimple"; + +export const test_json_application_v3_0_DynamicSimple = _test_json_application({ + version: "3.0", + name: "DynamicSimple", +})(typia.json.application()); + +interface DynamicSimpleApplication { + insert(first: DynamicSimple): Promise; + reduce( + first: DynamicSimple, + second: DynamicSimple | null, + ): Promise; + coalesce( + first: DynamicSimple | null, + second: DynamicSimple | null, + third?: DynamicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicTemplate.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicTemplate.ts new file mode 100644 index 0000000000..b9c2a5f447 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicTemplate.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicTemplate } from "../../../structures/DynamicTemplate"; + +export const test_json_application_v3_0_DynamicTemplate = + _test_json_application({ + version: "3.0", + name: "DynamicTemplate", + })(typia.json.application()); + +interface DynamicTemplateApplication { + insert(first: DynamicTemplate): Promise; + reduce( + first: DynamicTemplate, + second: DynamicTemplate | null, + ): Promise; + coalesce( + first: DynamicTemplate | null, + second: DynamicTemplate | null, + third?: DynamicTemplate | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicTree.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicTree.ts new file mode 100644 index 0000000000..9e73b29544 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicTree.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_json_application_v3_0_DynamicTree = _test_json_application({ + version: "3.0", + name: "DynamicTree", +})(typia.json.application()); + +interface DynamicTreeApplication { + insert(first: DynamicTree): Promise; + reduce(first: DynamicTree, second: DynamicTree | null): Promise; + coalesce( + first: DynamicTree | null, + second: DynamicTree | null, + third?: DynamicTree | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicUndefined.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicUndefined.ts new file mode 100644 index 0000000000..fd82b95488 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicUndefined.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicUndefined } from "../../../structures/DynamicUndefined"; + +export const test_json_application_v3_0_DynamicUndefined = + _test_json_application({ + version: "3.0", + name: "DynamicUndefined", + })(typia.json.application()); + +interface DynamicUndefinedApplication { + insert(first: DynamicUndefined): Promise; + reduce( + first: DynamicUndefined, + second: DynamicUndefined | null, + ): Promise; + coalesce( + first: DynamicUndefined | null, + second: DynamicUndefined | null, + third?: DynamicUndefined | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicUnion.ts new file mode 100644 index 0000000000..e8617ca655 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_DynamicUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicUnion } from "../../../structures/DynamicUnion"; + +export const test_json_application_v3_0_DynamicUnion = _test_json_application({ + version: "3.0", + name: "DynamicUnion", +})(typia.json.application()); + +interface DynamicUnionApplication { + insert(first: DynamicUnion): Promise; + reduce( + first: DynamicUnion, + second: DynamicUnion | null, + ): Promise; + coalesce( + first: DynamicUnion | null, + second: DynamicUnion | null, + third?: DynamicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectAlias.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectAlias.ts new file mode 100644 index 0000000000..f2477a0a6e --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectAlias } from "../../../structures/ObjectAlias"; + +export const test_json_application_v3_0_ObjectAlias = _test_json_application({ + version: "3.0", + name: "ObjectAlias", +})(typia.json.application()); + +interface ObjectAliasApplication { + insert(first: ObjectAlias): Promise; + reduce(first: ObjectAlias, second: ObjectAlias | null): Promise; + coalesce( + first: ObjectAlias | null, + second: ObjectAlias | null, + third?: ObjectAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDate.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDate.ts new file mode 100644 index 0000000000..0a36cc7955 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDate.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectDate } from "../../../structures/ObjectDate"; + +export const test_json_application_v3_0_ObjectDate = _test_json_application({ + version: "3.0", + name: "ObjectDate", +})(typia.json.application()); + +interface ObjectDateApplication { + insert(first: ObjectDate): Promise; + reduce(first: ObjectDate, second: ObjectDate | null): Promise; + coalesce( + first: ObjectDate | null, + second: ObjectDate | null, + third?: ObjectDate | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDescription.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDescription.ts new file mode 100644 index 0000000000..6e4d3825e3 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDescription.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectDescription } from "../../../structures/ObjectDescription"; + +export const test_json_application_v3_0_ObjectDescription = + _test_json_application({ + version: "3.0", + name: "ObjectDescription", + })(typia.json.application()); + +interface ObjectDescriptionApplication { + insert(first: ObjectDescription): Promise; + reduce( + first: ObjectDescription, + second: ObjectDescription | null, + ): Promise; + coalesce( + first: ObjectDescription | null, + second: ObjectDescription | null, + third?: ObjectDescription | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDynamic.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDynamic.ts new file mode 100644 index 0000000000..22f924fbd0 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectDynamic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectDynamic } from "../../../structures/ObjectDynamic"; + +export const test_json_application_v3_0_ObjectDynamic = _test_json_application({ + version: "3.0", + name: "ObjectDynamic", +})(typia.json.application()); + +interface ObjectDynamicApplication { + insert(first: ObjectDynamic): Promise; + reduce( + first: ObjectDynamic, + second: ObjectDynamic | null, + ): Promise; + coalesce( + first: ObjectDynamic | null, + second: ObjectDynamic | null, + third?: ObjectDynamic | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGeneric.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGeneric.ts new file mode 100644 index 0000000000..a63940ea8a --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGeneric.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGeneric } from "../../../structures/ObjectGeneric"; + +export const test_json_application_v3_0_ObjectGeneric = _test_json_application({ + version: "3.0", + name: "ObjectGeneric", +})(typia.json.application()); + +interface ObjectGenericApplication { + insert(first: ObjectGeneric): Promise; + reduce( + first: ObjectGeneric, + second: ObjectGeneric | null, + ): Promise; + coalesce( + first: ObjectGeneric | null, + second: ObjectGeneric | null, + third?: ObjectGeneric | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericAlias.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericAlias.ts new file mode 100644 index 0000000000..aff6551fb1 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGenericAlias } from "../../../structures/ObjectGenericAlias"; + +export const test_json_application_v3_0_ObjectGenericAlias = + _test_json_application({ + version: "3.0", + name: "ObjectGenericAlias", + })(typia.json.application()); + +interface ObjectGenericAliasApplication { + insert(first: ObjectGenericAlias): Promise; + reduce( + first: ObjectGenericAlias, + second: ObjectGenericAlias | null, + ): Promise; + coalesce( + first: ObjectGenericAlias | null, + second: ObjectGenericAlias | null, + third?: ObjectGenericAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericArray.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericArray.ts new file mode 100644 index 0000000000..c974871b97 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGenericArray } from "../../../structures/ObjectGenericArray"; + +export const test_json_application_v3_0_ObjectGenericArray = + _test_json_application({ + version: "3.0", + name: "ObjectGenericArray", + })(typia.json.application()); + +interface ObjectGenericArrayApplication { + insert(first: ObjectGenericArray): Promise; + reduce( + first: ObjectGenericArray, + second: ObjectGenericArray | null, + ): Promise; + coalesce( + first: ObjectGenericArray | null, + second: ObjectGenericArray | null, + third?: ObjectGenericArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericUnion.ts new file mode 100644 index 0000000000..9872bcf602 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectGenericUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGenericUnion } from "../../../structures/ObjectGenericUnion"; + +export const test_json_application_v3_0_ObjectGenericUnion = + _test_json_application({ + version: "3.0", + name: "ObjectGenericUnion", + })(typia.json.application()); + +interface ObjectGenericUnionApplication { + insert(first: ObjectGenericUnion): Promise; + reduce( + first: ObjectGenericUnion, + second: ObjectGenericUnion | null, + ): Promise; + coalesce( + first: ObjectGenericUnion | null, + second: ObjectGenericUnion | null, + third?: ObjectGenericUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectHierarchical.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectHierarchical.ts new file mode 100644 index 0000000000..ee7a41db6a --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectHierarchical } from "../../../structures/ObjectHierarchical"; + +export const test_json_application_v3_0_ObjectHierarchical = + _test_json_application({ + version: "3.0", + name: "ObjectHierarchical", + })(typia.json.application()); + +interface ObjectHierarchicalApplication { + insert(first: ObjectHierarchical): Promise; + reduce( + first: ObjectHierarchical, + second: ObjectHierarchical | null, + ): Promise; + coalesce( + first: ObjectHierarchical | null, + second: ObjectHierarchical | null, + third?: ObjectHierarchical | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectInternal.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectInternal.ts new file mode 100644 index 0000000000..f9afe4d0ce --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectInternal.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectInternal } from "../../../structures/ObjectInternal"; + +export const test_json_application_v3_0_ObjectInternal = _test_json_application( + { + version: "3.0", + name: "ObjectInternal", + }, +)(typia.json.application()); + +interface ObjectInternalApplication { + insert(first: ObjectInternal): Promise; + reduce( + first: ObjectInternal, + second: ObjectInternal | null, + ): Promise; + coalesce( + first: ObjectInternal | null, + second: ObjectInternal | null, + third?: ObjectInternal | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectIntersection.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectIntersection.ts new file mode 100644 index 0000000000..22c0313493 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectIntersection } from "../../../structures/ObjectIntersection"; + +export const test_json_application_v3_0_ObjectIntersection = + _test_json_application({ + version: "3.0", + name: "ObjectIntersection", + })(typia.json.application()); + +interface ObjectIntersectionApplication { + insert(first: ObjectIntersection): Promise; + reduce( + first: ObjectIntersection, + second: ObjectIntersection | null, + ): Promise; + coalesce( + first: ObjectIntersection | null, + second: ObjectIntersection | null, + third?: ObjectIntersection | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectJsonTag.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectJsonTag.ts new file mode 100644 index 0000000000..97b80413ca --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectJsonTag.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectJsonTag } from "../../../structures/ObjectJsonTag"; + +export const test_json_application_v3_0_ObjectJsonTag = _test_json_application({ + version: "3.0", + name: "ObjectJsonTag", +})(typia.json.application()); + +interface ObjectJsonTagApplication { + insert(first: ObjectJsonTag): Promise; + reduce( + first: ObjectJsonTag, + second: ObjectJsonTag | null, + ): Promise; + coalesce( + first: ObjectJsonTag | null, + second: ObjectJsonTag | null, + third?: ObjectJsonTag | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectLiteralProperty.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectLiteralProperty.ts new file mode 100644 index 0000000000..f5f26f3c00 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectLiteralProperty.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectLiteralProperty } from "../../../structures/ObjectLiteralProperty"; + +export const test_json_application_v3_0_ObjectLiteralProperty = + _test_json_application({ + version: "3.0", + name: "ObjectLiteralProperty", + })(typia.json.application()); + +interface ObjectLiteralPropertyApplication { + insert(first: ObjectLiteralProperty): Promise; + reduce( + first: ObjectLiteralProperty, + second: ObjectLiteralProperty | null, + ): Promise; + coalesce( + first: ObjectLiteralProperty | null, + second: ObjectLiteralProperty | null, + third?: ObjectLiteralProperty | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectLiteralType.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectLiteralType.ts new file mode 100644 index 0000000000..1776bec5fa --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectLiteralType.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectLiteralType } from "../../../structures/ObjectLiteralType"; + +export const test_json_application_v3_0_ObjectLiteralType = + _test_json_application({ + version: "3.0", + name: "ObjectLiteralType", + })(typia.json.application()); + +interface ObjectLiteralTypeApplication { + insert(first: ObjectLiteralType): Promise; + reduce( + first: ObjectLiteralType, + second: ObjectLiteralType | null, + ): Promise; + coalesce( + first: ObjectLiteralType | null, + second: ObjectLiteralType | null, + third?: ObjectLiteralType | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectNullable.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectNullable.ts new file mode 100644 index 0000000000..accff88f9a --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectNullable.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectNullable } from "../../../structures/ObjectNullable"; + +export const test_json_application_v3_0_ObjectNullable = _test_json_application( + { + version: "3.0", + name: "ObjectNullable", + }, +)(typia.json.application()); + +interface ObjectNullableApplication { + insert(first: ObjectNullable): Promise; + reduce( + first: ObjectNullable, + second: ObjectNullable | null, + ): Promise; + coalesce( + first: ObjectNullable | null, + second: ObjectNullable | null, + third?: ObjectNullable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectOptional.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectOptional.ts new file mode 100644 index 0000000000..eb2bfb2c8f --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectOptional.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectOptional } from "../../../structures/ObjectOptional"; + +export const test_json_application_v3_0_ObjectOptional = _test_json_application( + { + version: "3.0", + name: "ObjectOptional", + }, +)(typia.json.application()); + +interface ObjectOptionalApplication { + insert(first: ObjectOptional): Promise; + reduce( + first: ObjectOptional, + second: ObjectOptional | null, + ): Promise; + coalesce( + first: ObjectOptional | null, + second: ObjectOptional | null, + third?: ObjectOptional | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPartial.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPartial.ts new file mode 100644 index 0000000000..f2ae855496 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPartial.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_json_application_v3_0_ObjectPartial = _test_json_application({ + version: "3.0", + name: "ObjectPartial", +})(typia.json.application()); + +interface ObjectPartialApplication { + insert(first: ObjectPartial): Promise; + reduce( + first: ObjectPartial, + second: ObjectPartial | null, + ): Promise; + coalesce( + first: ObjectPartial | null, + second: ObjectPartial | null, + third?: ObjectPartial | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPartialAndRequired.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..e8b528ea0e --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPartialAndRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_json_application_v3_0_ObjectPartialAndRequired = + _test_json_application({ + version: "3.0", + name: "ObjectPartialAndRequired", + })(typia.json.application()); + +interface ObjectPartialAndRequiredApplication { + insert(first: ObjectPartialAndRequired): Promise; + reduce( + first: ObjectPartialAndRequired, + second: ObjectPartialAndRequired | null, + ): Promise; + coalesce( + first: ObjectPartialAndRequired | null, + second: ObjectPartialAndRequired | null, + third?: ObjectPartialAndRequired | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPrimitive.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPrimitive.ts new file mode 100644 index 0000000000..9bd0d07b72 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPrimitive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPrimitive } from "../../../structures/ObjectPrimitive"; + +export const test_json_application_v3_0_ObjectPrimitive = + _test_json_application({ + version: "3.0", + name: "ObjectPrimitive", + })(typia.json.application()); + +interface ObjectPrimitiveApplication { + insert(first: ObjectPrimitive): Promise; + reduce( + first: ObjectPrimitive, + second: ObjectPrimitive | null, + ): Promise; + coalesce( + first: ObjectPrimitive | null, + second: ObjectPrimitive | null, + third?: ObjectPrimitive | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPropertyNullable.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPropertyNullable.ts new file mode 100644 index 0000000000..1365ac15ea --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectPropertyNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPropertyNullable } from "../../../structures/ObjectPropertyNullable"; + +export const test_json_application_v3_0_ObjectPropertyNullable = + _test_json_application({ + version: "3.0", + name: "ObjectPropertyNullable", + })(typia.json.application()); + +interface ObjectPropertyNullableApplication { + insert(first: ObjectPropertyNullable): Promise; + reduce( + first: ObjectPropertyNullable, + second: ObjectPropertyNullable | null, + ): Promise; + coalesce( + first: ObjectPropertyNullable | null, + second: ObjectPropertyNullable | null, + third?: ObjectPropertyNullable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectRecursive.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectRecursive.ts new file mode 100644 index 0000000000..c5deb438c9 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectRecursive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_json_application_v3_0_ObjectRecursive = + _test_json_application({ + version: "3.0", + name: "ObjectRecursive", + })(typia.json.application()); + +interface ObjectRecursiveApplication { + insert(first: ObjectRecursive): Promise; + reduce( + first: ObjectRecursive, + second: ObjectRecursive | null, + ): Promise; + coalesce( + first: ObjectRecursive | null, + second: ObjectRecursive | null, + third?: ObjectRecursive | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectRequired.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectRequired.ts new file mode 100644 index 0000000000..7fe1b19183 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectRequired.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_json_application_v3_0_ObjectRequired = _test_json_application( + { + version: "3.0", + name: "ObjectRequired", + }, +)(typia.json.application()); + +interface ObjectRequiredApplication { + insert(first: ObjectRequired): Promise; + reduce( + first: ObjectRequired, + second: ObjectRequired | null, + ): Promise; + coalesce( + first: ObjectRequired | null, + second: ObjectRequired | null, + third?: ObjectRequired | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectSimple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectSimple.ts new file mode 100644 index 0000000000..00e069be6f --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectSimple } from "../../../structures/ObjectSimple"; + +export const test_json_application_v3_0_ObjectSimple = _test_json_application({ + version: "3.0", + name: "ObjectSimple", +})(typia.json.application()); + +interface ObjectSimpleApplication { + insert(first: ObjectSimple): Promise; + reduce( + first: ObjectSimple, + second: ObjectSimple | null, + ): Promise; + coalesce( + first: ObjectSimple | null, + second: ObjectSimple | null, + third?: ObjectSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectTuple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectTuple.ts new file mode 100644 index 0000000000..201a06cddd --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectTuple } from "../../../structures/ObjectTuple"; + +export const test_json_application_v3_0_ObjectTuple = _test_json_application({ + version: "3.0", + name: "ObjectTuple", +})(typia.json.application()); + +interface ObjectTupleApplication { + insert(first: ObjectTuple): Promise; + reduce(first: ObjectTuple, second: ObjectTuple | null): Promise; + coalesce( + first: ObjectTuple | null, + second: ObjectTuple | null, + third?: ObjectTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUndefined.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUndefined.ts new file mode 100644 index 0000000000..01c3fd8c76 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUndefined.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUndefined } from "../../../structures/ObjectUndefined"; + +export const test_json_application_v3_0_ObjectUndefined = + _test_json_application({ + version: "3.0", + name: "ObjectUndefined", + })(typia.json.application()); + +interface ObjectUndefinedApplication { + insert(first: ObjectUndefined): Promise; + reduce( + first: ObjectUndefined, + second: ObjectUndefined | null, + ): Promise; + coalesce( + first: ObjectUndefined | null, + second: ObjectUndefined | null, + third?: ObjectUndefined | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionComposite.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionComposite.ts new file mode 100644 index 0000000000..2a8965fa5d --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionComposite } from "../../../structures/ObjectUnionComposite"; + +export const test_json_application_v3_0_ObjectUnionComposite = + _test_json_application({ + version: "3.0", + name: "ObjectUnionComposite", + })(typia.json.application()); + +interface ObjectUnionCompositeApplication { + insert(first: ObjectUnionComposite): Promise; + reduce( + first: ObjectUnionComposite, + second: ObjectUnionComposite | null, + ): Promise; + coalesce( + first: ObjectUnionComposite | null, + second: ObjectUnionComposite | null, + third?: ObjectUnionComposite | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionCompositePointer.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionCompositePointer.ts new file mode 100644 index 0000000000..871210acda --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionCompositePointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionCompositePointer } from "../../../structures/ObjectUnionCompositePointer"; + +export const test_json_application_v3_0_ObjectUnionCompositePointer = + _test_json_application({ + version: "3.0", + name: "ObjectUnionCompositePointer", + })(typia.json.application()); + +interface ObjectUnionCompositePointerApplication { + insert(first: ObjectUnionCompositePointer): Promise; + reduce( + first: ObjectUnionCompositePointer, + second: ObjectUnionCompositePointer | null, + ): Promise; + coalesce( + first: ObjectUnionCompositePointer | null, + second: ObjectUnionCompositePointer | null, + third?: ObjectUnionCompositePointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionDouble.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionDouble.ts new file mode 100644 index 0000000000..a852410d53 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionDouble.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionDouble } from "../../../structures/ObjectUnionDouble"; + +export const test_json_application_v3_0_ObjectUnionDouble = + _test_json_application({ + version: "3.0", + name: "ObjectUnionDouble", + })(typia.json.application()); + +interface ObjectUnionDoubleApplication { + insert(first: ObjectUnionDouble): Promise; + reduce( + first: ObjectUnionDouble, + second: ObjectUnionDouble | null, + ): Promise; + coalesce( + first: ObjectUnionDouble | null, + second: ObjectUnionDouble | null, + third?: ObjectUnionDouble | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionExplicit.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionExplicit.ts new file mode 100644 index 0000000000..26697fb77e --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionExplicit } from "../../../structures/ObjectUnionExplicit"; + +export const test_json_application_v3_0_ObjectUnionExplicit = + _test_json_application({ + version: "3.0", + name: "ObjectUnionExplicit", + })(typia.json.application()); + +interface ObjectUnionExplicitApplication { + insert(first: ObjectUnionExplicit): Promise; + reduce( + first: ObjectUnionExplicit, + second: ObjectUnionExplicit | null, + ): Promise; + coalesce( + first: ObjectUnionExplicit | null, + second: ObjectUnionExplicit | null, + third?: ObjectUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionExplicitPointer.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionExplicitPointer.ts new file mode 100644 index 0000000000..ad22d9d2f3 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionExplicitPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionExplicitPointer } from "../../../structures/ObjectUnionExplicitPointer"; + +export const test_json_application_v3_0_ObjectUnionExplicitPointer = + _test_json_application({ + version: "3.0", + name: "ObjectUnionExplicitPointer", + })(typia.json.application()); + +interface ObjectUnionExplicitPointerApplication { + insert(first: ObjectUnionExplicitPointer): Promise; + reduce( + first: ObjectUnionExplicitPointer, + second: ObjectUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ObjectUnionExplicitPointer | null, + second: ObjectUnionExplicitPointer | null, + third?: ObjectUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionImplicit.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionImplicit.ts new file mode 100644 index 0000000000..c36252be33 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionImplicit } from "../../../structures/ObjectUnionImplicit"; + +export const test_json_application_v3_0_ObjectUnionImplicit = + _test_json_application({ + version: "3.0", + name: "ObjectUnionImplicit", + })(typia.json.application()); + +interface ObjectUnionImplicitApplication { + insert(first: ObjectUnionImplicit): Promise; + reduce( + first: ObjectUnionImplicit, + second: ObjectUnionImplicit | null, + ): Promise; + coalesce( + first: ObjectUnionImplicit | null, + second: ObjectUnionImplicit | null, + third?: ObjectUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionNonPredictable.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionNonPredictable.ts new file mode 100644 index 0000000000..73f895218a --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ObjectUnionNonPredictable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionNonPredictable } from "../../../structures/ObjectUnionNonPredictable"; + +export const test_json_application_v3_0_ObjectUnionNonPredictable = + _test_json_application({ + version: "3.0", + name: "ObjectUnionNonPredictable", + })(typia.json.application()); + +interface ObjectUnionNonPredictableApplication { + insert(first: ObjectUnionNonPredictable): Promise; + reduce( + first: ObjectUnionNonPredictable, + second: ObjectUnionNonPredictable | null, + ): Promise; + coalesce( + first: ObjectUnionNonPredictable | null, + second: ObjectUnionNonPredictable | null, + third?: ObjectUnionNonPredictable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateAtomic.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateAtomic.ts new file mode 100644 index 0000000000..09ae122f02 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateAtomic.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TemplateAtomic } from "../../../structures/TemplateAtomic"; + +export const test_json_application_v3_0_TemplateAtomic = _test_json_application( + { + version: "3.0", + name: "TemplateAtomic", + }, +)(typia.json.application()); + +interface TemplateAtomicApplication { + insert(first: TemplateAtomic): Promise; + reduce( + first: TemplateAtomic, + second: TemplateAtomic | null, + ): Promise; + coalesce( + first: TemplateAtomic | null, + second: TemplateAtomic | null, + third?: TemplateAtomic | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateConstant.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateConstant.ts new file mode 100644 index 0000000000..7290dde2cd --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TemplateConstant } from "../../../structures/TemplateConstant"; + +export const test_json_application_v3_0_TemplateConstant = + _test_json_application({ + version: "3.0", + name: "TemplateConstant", + })(typia.json.application()); + +interface TemplateConstantApplication { + insert(first: TemplateConstant): Promise; + reduce( + first: TemplateConstant, + second: TemplateConstant | null, + ): Promise; + coalesce( + first: TemplateConstant | null, + second: TemplateConstant | null, + third?: TemplateConstant | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateUnion.ts new file mode 100644 index 0000000000..81a7ae47d1 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TemplateUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TemplateUnion } from "../../../structures/TemplateUnion"; + +export const test_json_application_v3_0_TemplateUnion = _test_json_application({ + version: "3.0", + name: "TemplateUnion", +})(typia.json.application()); + +interface TemplateUnionApplication { + insert(first: TemplateUnion): Promise; + reduce( + first: TemplateUnion, + second: TemplateUnion | null, + ): Promise; + coalesce( + first: TemplateUnion | null, + second: TemplateUnion | null, + third?: TemplateUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonArray.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonArray.ts new file mode 100644 index 0000000000..624587a5d8 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonArray.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonArray } from "../../../structures/ToJsonArray"; + +export const test_json_application_v3_0_ToJsonArray = _test_json_application({ + version: "3.0", + name: "ToJsonArray", +})(typia.json.application()); + +interface ToJsonArrayApplication { + insert(first: ToJsonArray): Promise; + reduce(first: ToJsonArray, second: ToJsonArray | null): Promise; + coalesce( + first: ToJsonArray | null, + second: ToJsonArray | null, + third?: ToJsonArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonAtomicSimple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonAtomicSimple.ts new file mode 100644 index 0000000000..e6b0f507e3 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonAtomicSimple } from "../../../structures/ToJsonAtomicSimple"; + +export const test_json_application_v3_0_ToJsonAtomicSimple = + _test_json_application({ + version: "3.0", + name: "ToJsonAtomicSimple", + })(typia.json.application()); + +interface ToJsonAtomicSimpleApplication { + insert(first: ToJsonAtomicSimple): Promise; + reduce( + first: ToJsonAtomicSimple, + second: ToJsonAtomicSimple | null, + ): Promise; + coalesce( + first: ToJsonAtomicSimple | null, + second: ToJsonAtomicSimple | null, + third?: ToJsonAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonAtomicUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonAtomicUnion.ts new file mode 100644 index 0000000000..8dbe9ec731 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonAtomicUnion } from "../../../structures/ToJsonAtomicUnion"; + +export const test_json_application_v3_0_ToJsonAtomicUnion = + _test_json_application({ + version: "3.0", + name: "ToJsonAtomicUnion", + })(typia.json.application()); + +interface ToJsonAtomicUnionApplication { + insert(first: ToJsonAtomicUnion): Promise; + reduce( + first: ToJsonAtomicUnion, + second: ToJsonAtomicUnion | null, + ): Promise; + coalesce( + first: ToJsonAtomicUnion | null, + second: ToJsonAtomicUnion | null, + third?: ToJsonAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonDouble.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonDouble.ts new file mode 100644 index 0000000000..0db633d562 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonDouble.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonDouble } from "../../../structures/ToJsonDouble"; + +export const test_json_application_v3_0_ToJsonDouble = _test_json_application({ + version: "3.0", + name: "ToJsonDouble", +})(typia.json.application()); + +interface ToJsonDoubleApplication { + insert(first: ToJsonDouble): Promise; + reduce( + first: ToJsonDouble, + second: ToJsonDouble | null, + ): Promise; + coalesce( + first: ToJsonDouble | null, + second: ToJsonDouble | null, + third?: ToJsonDouble | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonNull.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonNull.ts new file mode 100644 index 0000000000..51e2036e15 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonNull.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonNull } from "../../../structures/ToJsonNull"; + +export const test_json_application_v3_0_ToJsonNull = _test_json_application({ + version: "3.0", + name: "ToJsonNull", +})(typia.json.application()); + +interface ToJsonNullApplication { + insert(first: ToJsonNull): Promise; + reduce(first: ToJsonNull, second: ToJsonNull | null): Promise; + coalesce( + first: ToJsonNull | null, + second: ToJsonNull | null, + third?: ToJsonNull | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonTuple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonTuple.ts new file mode 100644 index 0000000000..6d23aa3dfb --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonTuple } from "../../../structures/ToJsonTuple"; + +export const test_json_application_v3_0_ToJsonTuple = _test_json_application({ + version: "3.0", + name: "ToJsonTuple", +})(typia.json.application()); + +interface ToJsonTupleApplication { + insert(first: ToJsonTuple): Promise; + reduce(first: ToJsonTuple, second: ToJsonTuple | null): Promise; + coalesce( + first: ToJsonTuple | null, + second: ToJsonTuple | null, + third?: ToJsonTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonUnion.ts new file mode 100644 index 0000000000..246ff19fda --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_ToJsonUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonUnion } from "../../../structures/ToJsonUnion"; + +export const test_json_application_v3_0_ToJsonUnion = _test_json_application({ + version: "3.0", + name: "ToJsonUnion", +})(typia.json.application()); + +interface ToJsonUnionApplication { + insert(first: ToJsonUnion): Promise; + reduce(first: ToJsonUnion, second: ToJsonUnion | null): Promise; + coalesce( + first: ToJsonUnion | null, + second: ToJsonUnion | null, + third?: ToJsonUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleHierarchical.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleHierarchical.ts new file mode 100644 index 0000000000..b3a320cef3 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleHierarchical } from "../../../structures/TupleHierarchical"; + +export const test_json_application_v3_0_TupleHierarchical = + _test_json_application({ + version: "3.0", + name: "TupleHierarchical", + })(typia.json.application()); + +interface TupleHierarchicalApplication { + insert(first: TupleHierarchical): Promise; + reduce( + first: TupleHierarchical, + second: TupleHierarchical | null, + ): Promise; + coalesce( + first: TupleHierarchical | null, + second: TupleHierarchical | null, + third?: TupleHierarchical | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestArray.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestArray.ts new file mode 100644 index 0000000000..56a9605bed --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestArray.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleRestArray } from "../../../structures/TupleRestArray"; + +export const test_json_application_v3_0_TupleRestArray = _test_json_application( + { + version: "3.0", + name: "TupleRestArray", + }, +)(typia.json.application()); + +interface TupleRestArrayApplication { + insert(first: TupleRestArray): Promise; + reduce( + first: TupleRestArray, + second: TupleRestArray | null, + ): Promise; + coalesce( + first: TupleRestArray | null, + second: TupleRestArray | null, + third?: TupleRestArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestAtomic.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestAtomic.ts new file mode 100644 index 0000000000..f3f1ed1eb6 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestAtomic.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleRestAtomic } from "../../../structures/TupleRestAtomic"; + +export const test_json_application_v3_0_TupleRestAtomic = + _test_json_application({ + version: "3.0", + name: "TupleRestAtomic", + })(typia.json.application()); + +interface TupleRestAtomicApplication { + insert(first: TupleRestAtomic): Promise; + reduce( + first: TupleRestAtomic, + second: TupleRestAtomic | null, + ): Promise; + coalesce( + first: TupleRestAtomic | null, + second: TupleRestAtomic | null, + third?: TupleRestAtomic | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestObject.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestObject.ts new file mode 100644 index 0000000000..692a173815 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TupleRestObject.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleRestObject } from "../../../structures/TupleRestObject"; + +export const test_json_application_v3_0_TupleRestObject = + _test_json_application({ + version: "3.0", + name: "TupleRestObject", + })(typia.json.application()); + +interface TupleRestObjectApplication { + insert(first: TupleRestObject): Promise; + reduce( + first: TupleRestObject, + second: TupleRestObject | null, + ): Promise; + coalesce( + first: TupleRestObject | null, + second: TupleRestObject | null, + third?: TupleRestObject | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagArray.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagArray.ts new file mode 100644 index 0000000000..a053fd26ad --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagArray } from "../../../structures/TypeTagArray"; + +export const test_json_application_v3_0_TypeTagArray = _test_json_application({ + version: "3.0", + name: "TypeTagArray", +})(typia.json.application()); + +interface TypeTagArrayApplication { + insert(first: TypeTagArray): Promise; + reduce( + first: TypeTagArray, + second: TypeTagArray | null, + ): Promise; + coalesce( + first: TypeTagArray | null, + second: TypeTagArray | null, + third?: TypeTagArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagArrayUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagArrayUnion.ts new file mode 100644 index 0000000000..5eafa9e5f5 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagArrayUnion } from "../../../structures/TypeTagArrayUnion"; + +export const test_json_application_v3_0_TypeTagArrayUnion = + _test_json_application({ + version: "3.0", + name: "TypeTagArrayUnion", + })(typia.json.application()); + +interface TypeTagArrayUnionApplication { + insert(first: TypeTagArrayUnion): Promise; + reduce( + first: TypeTagArrayUnion, + second: TypeTagArrayUnion | null, + ): Promise; + coalesce( + first: TypeTagArrayUnion | null, + second: TypeTagArrayUnion | null, + third?: TypeTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagAtomicUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagAtomicUnion.ts new file mode 100644 index 0000000000..836d0c4251 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagAtomicUnion } from "../../../structures/TypeTagAtomicUnion"; + +export const test_json_application_v3_0_TypeTagAtomicUnion = + _test_json_application({ + version: "3.0", + name: "TypeTagAtomicUnion", + })(typia.json.application()); + +interface TypeTagAtomicUnionApplication { + insert(first: TypeTagAtomicUnion): Promise; + reduce( + first: TypeTagAtomicUnion, + second: TypeTagAtomicUnion | null, + ): Promise; + coalesce( + first: TypeTagAtomicUnion | null, + second: TypeTagAtomicUnion | null, + third?: TypeTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagCustom.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagCustom.ts new file mode 100644 index 0000000000..6ecf6c618f --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagCustom.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagCustom } from "../../../structures/TypeTagCustom"; + +export const test_json_application_v3_0_TypeTagCustom = _test_json_application({ + version: "3.0", + name: "TypeTagCustom", +})(typia.json.application()); + +interface TypeTagCustomApplication { + insert(first: TypeTagCustom): Promise; + reduce( + first: TypeTagCustom, + second: TypeTagCustom | null, + ): Promise; + coalesce( + first: TypeTagCustom | null, + second: TypeTagCustom | null, + third?: TypeTagCustom | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagDefault.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagDefault.ts new file mode 100644 index 0000000000..491654a56a --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagDefault.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagDefault } from "../../../structures/TypeTagDefault"; + +export const test_json_application_v3_0_TypeTagDefault = _test_json_application( + { + version: "3.0", + name: "TypeTagDefault", + }, +)(typia.json.application()); + +interface TypeTagDefaultApplication { + insert(first: TypeTagDefault): Promise; + reduce( + first: TypeTagDefault, + second: TypeTagDefault | null, + ): Promise; + coalesce( + first: TypeTagDefault | null, + second: TypeTagDefault | null, + third?: TypeTagDefault | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagFormat.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagFormat.ts new file mode 100644 index 0000000000..cc5e235487 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagFormat.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagFormat } from "../../../structures/TypeTagFormat"; + +export const test_json_application_v3_0_TypeTagFormat = _test_json_application({ + version: "3.0", + name: "TypeTagFormat", +})(typia.json.application()); + +interface TypeTagFormatApplication { + insert(first: TypeTagFormat): Promise; + reduce( + first: TypeTagFormat, + second: TypeTagFormat | null, + ): Promise; + coalesce( + first: TypeTagFormat | null, + second: TypeTagFormat | null, + third?: TypeTagFormat | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagLength.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagLength.ts new file mode 100644 index 0000000000..c6f3dac81d --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagLength.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagLength } from "../../../structures/TypeTagLength"; + +export const test_json_application_v3_0_TypeTagLength = _test_json_application({ + version: "3.0", + name: "TypeTagLength", +})(typia.json.application()); + +interface TypeTagLengthApplication { + insert(first: TypeTagLength): Promise; + reduce( + first: TypeTagLength, + second: TypeTagLength | null, + ): Promise; + coalesce( + first: TypeTagLength | null, + second: TypeTagLength | null, + third?: TypeTagLength | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagMatrix.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagMatrix.ts new file mode 100644 index 0000000000..70d3c50285 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagMatrix.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagMatrix } from "../../../structures/TypeTagMatrix"; + +export const test_json_application_v3_0_TypeTagMatrix = _test_json_application({ + version: "3.0", + name: "TypeTagMatrix", +})(typia.json.application()); + +interface TypeTagMatrixApplication { + insert(first: TypeTagMatrix): Promise; + reduce( + first: TypeTagMatrix, + second: TypeTagMatrix | null, + ): Promise; + coalesce( + first: TypeTagMatrix | null, + second: TypeTagMatrix | null, + third?: TypeTagMatrix | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagObjectUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagObjectUnion.ts new file mode 100644 index 0000000000..335c97c50d --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagObjectUnion } from "../../../structures/TypeTagObjectUnion"; + +export const test_json_application_v3_0_TypeTagObjectUnion = + _test_json_application({ + version: "3.0", + name: "TypeTagObjectUnion", + })(typia.json.application()); + +interface TypeTagObjectUnionApplication { + insert(first: TypeTagObjectUnion): Promise; + reduce( + first: TypeTagObjectUnion, + second: TypeTagObjectUnion | null, + ): Promise; + coalesce( + first: TypeTagObjectUnion | null, + second: TypeTagObjectUnion | null, + third?: TypeTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagPattern.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagPattern.ts new file mode 100644 index 0000000000..168c8caae0 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagPattern.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagPattern } from "../../../structures/TypeTagPattern"; + +export const test_json_application_v3_0_TypeTagPattern = _test_json_application( + { + version: "3.0", + name: "TypeTagPattern", + }, +)(typia.json.application()); + +interface TypeTagPatternApplication { + insert(first: TypeTagPattern): Promise; + reduce( + first: TypeTagPattern, + second: TypeTagPattern | null, + ): Promise; + coalesce( + first: TypeTagPattern | null, + second: TypeTagPattern | null, + third?: TypeTagPattern | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagRange.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagRange.ts new file mode 100644 index 0000000000..ee0fd7ac2c --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagRange } from "../../../structures/TypeTagRange"; + +export const test_json_application_v3_0_TypeTagRange = _test_json_application({ + version: "3.0", + name: "TypeTagRange", +})(typia.json.application()); + +interface TypeTagRangeApplication { + insert(first: TypeTagRange): Promise; + reduce( + first: TypeTagRange, + second: TypeTagRange | null, + ): Promise; + coalesce( + first: TypeTagRange | null, + second: TypeTagRange | null, + third?: TypeTagRange | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagTuple.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagTuple.ts new file mode 100644 index 0000000000..89b9f9de01 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagTuple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagTuple } from "../../../structures/TypeTagTuple"; + +export const test_json_application_v3_0_TypeTagTuple = _test_json_application({ + version: "3.0", + name: "TypeTagTuple", +})(typia.json.application()); + +interface TypeTagTupleApplication { + insert(first: TypeTagTuple): Promise; + reduce( + first: TypeTagTuple, + second: TypeTagTuple | null, + ): Promise; + coalesce( + first: TypeTagTuple | null, + second: TypeTagTuple | null, + third?: TypeTagTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagType.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagType.ts new file mode 100644 index 0000000000..a246449d93 --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_TypeTagType.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagType } from "../../../structures/TypeTagType"; + +export const test_json_application_v3_0_TypeTagType = _test_json_application({ + version: "3.0", + name: "TypeTagType", +})(typia.json.application()); + +interface TypeTagTypeApplication { + insert(first: TypeTagType): Promise; + reduce(first: TypeTagType, second: TypeTagType | null): Promise; + coalesce( + first: TypeTagType | null, + second: TypeTagType | null, + third?: TypeTagType | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_0/test_json_application_v3_0_UltimateUnion.ts b/test/src/features/json.application/v3_0/test_json_application_v3_0_UltimateUnion.ts new file mode 100644 index 0000000000..eb518d04fe --- /dev/null +++ b/test/src/features/json.application/v3_0/test_json_application_v3_0_UltimateUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { UltimateUnion } from "../../../structures/UltimateUnion"; + +export const test_json_application_v3_0_UltimateUnion = _test_json_application({ + version: "3.0", + name: "UltimateUnion", +})(typia.json.application()); + +interface UltimateUnionApplication { + insert(first: UltimateUnion): Promise; + reduce( + first: UltimateUnion, + second: UltimateUnion | null, + ): Promise; + coalesce( + first: UltimateUnion | null, + second: UltimateUnion | null, + third?: UltimateUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAny.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAny.ts new file mode 100644 index 0000000000..09daa107d2 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAny.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayAny } from "../../../structures/ArrayAny"; + +export const test_json_application_v3_1_ArrayAny = _test_json_application({ + version: "3.1", + name: "ArrayAny", +})(typia.json.application()); + +interface ArrayAnyApplication { + insert(first: ArrayAny): Promise; + reduce(first: ArrayAny, second: ArrayAny | null): Promise; + coalesce( + first: ArrayAny | null, + second: ArrayAny | null, + third?: ArrayAny | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAtomicAlias.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAtomicAlias.ts new file mode 100644 index 0000000000..872fa7447a --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAtomicAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayAtomicAlias } from "../../../structures/ArrayAtomicAlias"; + +export const test_json_application_v3_1_ArrayAtomicAlias = + _test_json_application({ + version: "3.1", + name: "ArrayAtomicAlias", + })(typia.json.application()); + +interface ArrayAtomicAliasApplication { + insert(first: ArrayAtomicAlias): Promise; + reduce( + first: ArrayAtomicAlias, + second: ArrayAtomicAlias | null, + ): Promise; + coalesce( + first: ArrayAtomicAlias | null, + second: ArrayAtomicAlias | null, + third?: ArrayAtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAtomicSimple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAtomicSimple.ts new file mode 100644 index 0000000000..04ba5878c5 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayAtomicSimple } from "../../../structures/ArrayAtomicSimple"; + +export const test_json_application_v3_1_ArrayAtomicSimple = + _test_json_application({ + version: "3.1", + name: "ArrayAtomicSimple", + })(typia.json.application()); + +interface ArrayAtomicSimpleApplication { + insert(first: ArrayAtomicSimple): Promise; + reduce( + first: ArrayAtomicSimple, + second: ArrayAtomicSimple | null, + ): Promise; + coalesce( + first: ArrayAtomicSimple | null, + second: ArrayAtomicSimple | null, + third?: ArrayAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayHierarchical.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayHierarchical.ts new file mode 100644 index 0000000000..889945e2f3 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayHierarchical } from "../../../structures/ArrayHierarchical"; + +export const test_json_application_v3_1_ArrayHierarchical = + _test_json_application({ + version: "3.1", + name: "ArrayHierarchical", + })(typia.json.application()); + +interface ArrayHierarchicalApplication { + insert(first: ArrayHierarchical): Promise; + reduce( + first: ArrayHierarchical, + second: ArrayHierarchical | null, + ): Promise; + coalesce( + first: ArrayHierarchical | null, + second: ArrayHierarchical | null, + third?: ArrayHierarchical | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayHierarchicalPointer.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayHierarchicalPointer.ts new file mode 100644 index 0000000000..4e9ade7690 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayHierarchicalPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayHierarchicalPointer } from "../../../structures/ArrayHierarchicalPointer"; + +export const test_json_application_v3_1_ArrayHierarchicalPointer = + _test_json_application({ + version: "3.1", + name: "ArrayHierarchicalPointer", + })(typia.json.application()); + +interface ArrayHierarchicalPointerApplication { + insert(first: ArrayHierarchicalPointer): Promise; + reduce( + first: ArrayHierarchicalPointer, + second: ArrayHierarchicalPointer | null, + ): Promise; + coalesce( + first: ArrayHierarchicalPointer | null, + second: ArrayHierarchicalPointer | null, + third?: ArrayHierarchicalPointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayMatrix.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayMatrix.ts new file mode 100644 index 0000000000..5ed26c3be3 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayMatrix.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayMatrix } from "../../../structures/ArrayMatrix"; + +export const test_json_application_v3_1_ArrayMatrix = _test_json_application({ + version: "3.1", + name: "ArrayMatrix", +})(typia.json.application()); + +interface ArrayMatrixApplication { + insert(first: ArrayMatrix): Promise; + reduce(first: ArrayMatrix, second: ArrayMatrix | null): Promise; + coalesce( + first: ArrayMatrix | null, + second: ArrayMatrix | null, + third?: ArrayMatrix | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursive.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursive.ts new file mode 100644 index 0000000000..e3d711c7b0 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursive.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_json_application_v3_1_ArrayRecursive = _test_json_application( + { + version: "3.1", + name: "ArrayRecursive", + }, +)(typia.json.application()); + +interface ArrayRecursiveApplication { + insert(first: ArrayRecursive): Promise; + reduce( + first: ArrayRecursive, + second: ArrayRecursive | null, + ): Promise; + coalesce( + first: ArrayRecursive | null, + second: ArrayRecursive | null, + third?: ArrayRecursive | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionExplicit.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionExplicit.ts new file mode 100644 index 0000000000..2c8b306ff1 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursiveUnionExplicit } from "../../../structures/ArrayRecursiveUnionExplicit"; + +export const test_json_application_v3_1_ArrayRecursiveUnionExplicit = + _test_json_application({ + version: "3.1", + name: "ArrayRecursiveUnionExplicit", + })(typia.json.application()); + +interface ArrayRecursiveUnionExplicitApplication { + insert(first: ArrayRecursiveUnionExplicit): Promise; + reduce( + first: ArrayRecursiveUnionExplicit, + second: ArrayRecursiveUnionExplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicit | null, + second: ArrayRecursiveUnionExplicit | null, + third?: ArrayRecursiveUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionExplicitPointer.ts new file mode 100644 index 0000000000..aafe8ace8d --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionExplicitPointer.ts @@ -0,0 +1,28 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursiveUnionExplicitPointer } from "../../../structures/ArrayRecursiveUnionExplicitPointer"; + +export const test_json_application_v3_1_ArrayRecursiveUnionExplicitPointer = + _test_json_application({ + version: "3.1", + name: "ArrayRecursiveUnionExplicitPointer", + })( + typia.json.application< + ArrayRecursiveUnionExplicitPointerApplication, + "3.1" + >(), + ); + +interface ArrayRecursiveUnionExplicitPointerApplication { + insert(first: ArrayRecursiveUnionExplicitPointer): Promise; + reduce( + first: ArrayRecursiveUnionExplicitPointer, + second: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicitPointer | null, + second: ArrayRecursiveUnionExplicitPointer | null, + third?: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionImplicit.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionImplicit.ts new file mode 100644 index 0000000000..51240b6471 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRecursiveUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRecursiveUnionImplicit } from "../../../structures/ArrayRecursiveUnionImplicit"; + +export const test_json_application_v3_1_ArrayRecursiveUnionImplicit = + _test_json_application({ + version: "3.1", + name: "ArrayRecursiveUnionImplicit", + })(typia.json.application()); + +interface ArrayRecursiveUnionImplicitApplication { + insert(first: ArrayRecursiveUnionImplicit): Promise; + reduce( + first: ArrayRecursiveUnionImplicit, + second: ArrayRecursiveUnionImplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionImplicit | null, + second: ArrayRecursiveUnionImplicit | null, + third?: ArrayRecursiveUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedNullable.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedNullable.ts new file mode 100644 index 0000000000..148b540d36 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable"; + +export const test_json_application_v3_1_ArrayRepeatedNullable = + _test_json_application({ + version: "3.1", + name: "ArrayRepeatedNullable", + })(typia.json.application()); + +interface ArrayRepeatedNullableApplication { + insert(first: ArrayRepeatedNullable): Promise; + reduce( + first: ArrayRepeatedNullable, + second: ArrayRepeatedNullable | null, + ): Promise; + coalesce( + first: ArrayRepeatedNullable | null, + second: ArrayRepeatedNullable | null, + third?: ArrayRepeatedNullable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedRequired.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedRequired.ts new file mode 100644 index 0000000000..aba076601e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired"; + +export const test_json_application_v3_1_ArrayRepeatedRequired = + _test_json_application({ + version: "3.1", + name: "ArrayRepeatedRequired", + })(typia.json.application()); + +interface ArrayRepeatedRequiredApplication { + insert(first: ArrayRepeatedRequired): Promise; + reduce( + first: ArrayRepeatedRequired, + second: ArrayRepeatedRequired | null, + ): Promise; + coalesce( + first: ArrayRepeatedRequired | null, + second: ArrayRepeatedRequired | null, + third?: ArrayRepeatedRequired | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedUnion.ts new file mode 100644 index 0000000000..d39a8c5433 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; + +export const test_json_application_v3_1_ArrayRepeatedUnion = + _test_json_application({ + version: "3.1", + name: "ArrayRepeatedUnion", + })(typia.json.application()); + +interface ArrayRepeatedUnionApplication { + insert(first: ArrayRepeatedUnion): Promise; + reduce( + first: ArrayRepeatedUnion, + second: ArrayRepeatedUnion | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnion | null, + second: ArrayRepeatedUnion | null, + third?: ArrayRepeatedUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedUnionWithTuple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedUnionWithTuple.ts new file mode 100644 index 0000000000..a407f9e72e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayRepeatedUnionWithTuple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayRepeatedUnionWithTuple } from "../../../structures/ArrayRepeatedUnionWithTuple"; + +export const test_json_application_v3_1_ArrayRepeatedUnionWithTuple = + _test_json_application({ + version: "3.1", + name: "ArrayRepeatedUnionWithTuple", + })(typia.json.application()); + +interface ArrayRepeatedUnionWithTupleApplication { + insert(first: ArrayRepeatedUnionWithTuple): Promise; + reduce( + first: ArrayRepeatedUnionWithTuple, + second: ArrayRepeatedUnionWithTuple | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnionWithTuple | null, + second: ArrayRepeatedUnionWithTuple | null, + third?: ArrayRepeatedUnionWithTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArraySimple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArraySimple.ts new file mode 100644 index 0000000000..ba17671e1d --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArraySimple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArraySimple } from "../../../structures/ArraySimple"; + +export const test_json_application_v3_1_ArraySimple = _test_json_application({ + version: "3.1", + name: "ArraySimple", +})(typia.json.application()); + +interface ArraySimpleApplication { + insert(first: ArraySimple): Promise; + reduce(first: ArraySimple, second: ArraySimple | null): Promise; + coalesce( + first: ArraySimple | null, + second: ArraySimple | null, + third?: ArraySimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayUnion.ts new file mode 100644 index 0000000000..b84b965b4d --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ArrayUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ArrayUnion } from "../../../structures/ArrayUnion"; + +export const test_json_application_v3_1_ArrayUnion = _test_json_application({ + version: "3.1", + name: "ArrayUnion", +})(typia.json.application()); + +interface ArrayUnionApplication { + insert(first: ArrayUnion): Promise; + reduce(first: ArrayUnion, second: ArrayUnion | null): Promise; + coalesce( + first: ArrayUnion | null, + second: ArrayUnion | null, + third?: ArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicAlias.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicAlias.ts new file mode 100644 index 0000000000..9bf10cc190 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicAlias } from "../../../structures/AtomicAlias"; + +export const test_json_application_v3_1_AtomicAlias = _test_json_application({ + version: "3.1", + name: "AtomicAlias", +})(typia.json.application()); + +interface AtomicAliasApplication { + insert(first: AtomicAlias): Promise; + reduce(first: AtomicAlias, second: AtomicAlias | null): Promise; + coalesce( + first: AtomicAlias | null, + second: AtomicAlias | null, + third?: AtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicClass.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicClass.ts new file mode 100644 index 0000000000..d8f63dbe7e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicClass.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicClass } from "../../../structures/AtomicClass"; + +export const test_json_application_v3_1_AtomicClass = _test_json_application({ + version: "3.1", + name: "AtomicClass", +})(typia.json.application()); + +interface AtomicClassApplication { + insert(first: AtomicClass): Promise; + reduce(first: AtomicClass, second: AtomicClass | null): Promise; + coalesce( + first: AtomicClass | null, + second: AtomicClass | null, + third?: AtomicClass | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicIntersection.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicIntersection.ts new file mode 100644 index 0000000000..170b01d6c0 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicIntersection } from "../../../structures/AtomicIntersection"; + +export const test_json_application_v3_1_AtomicIntersection = + _test_json_application({ + version: "3.1", + name: "AtomicIntersection", + })(typia.json.application()); + +interface AtomicIntersectionApplication { + insert(first: AtomicIntersection): Promise; + reduce( + first: AtomicIntersection, + second: AtomicIntersection | null, + ): Promise; + coalesce( + first: AtomicIntersection | null, + second: AtomicIntersection | null, + third?: AtomicIntersection | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicSimple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicSimple.ts new file mode 100644 index 0000000000..05d2b03186 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicSimple } from "../../../structures/AtomicSimple"; + +export const test_json_application_v3_1_AtomicSimple = _test_json_application({ + version: "3.1", + name: "AtomicSimple", +})(typia.json.application()); + +interface AtomicSimpleApplication { + insert(first: AtomicSimple): Promise; + reduce( + first: AtomicSimple, + second: AtomicSimple | null, + ): Promise; + coalesce( + first: AtomicSimple | null, + second: AtomicSimple | null, + third?: AtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicUnion.ts new file mode 100644 index 0000000000..030e41cc1b --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_AtomicUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { AtomicUnion } from "../../../structures/AtomicUnion"; + +export const test_json_application_v3_1_AtomicUnion = _test_json_application({ + version: "3.1", + name: "AtomicUnion", +})(typia.json.application()); + +interface AtomicUnionApplication { + insert(first: AtomicUnion): Promise; + reduce(first: AtomicUnion, second: AtomicUnion | null): Promise; + coalesce( + first: AtomicUnion | null, + second: AtomicUnion | null, + third?: AtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassGetter.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassGetter.ts new file mode 100644 index 0000000000..b7322a1215 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassGetter.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ClassGetter } from "../../../structures/ClassGetter"; + +export const test_json_application_v3_1_ClassGetter = _test_json_application({ + version: "3.1", + name: "ClassGetter", +})(typia.json.application()); + +interface ClassGetterApplication { + insert(first: ClassGetter): Promise; + reduce(first: ClassGetter, second: ClassGetter | null): Promise; + coalesce( + first: ClassGetter | null, + second: ClassGetter | null, + third?: ClassGetter | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassMethod.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassMethod.ts new file mode 100644 index 0000000000..bedd8026ca --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassMethod.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ClassMethod } from "../../../structures/ClassMethod"; + +export const test_json_application_v3_1_ClassMethod = _test_json_application({ + version: "3.1", + name: "ClassMethod", +})(typia.json.application()); + +interface ClassMethodApplication { + insert(first: ClassMethod): Promise; + reduce(first: ClassMethod, second: ClassMethod | null): Promise; + coalesce( + first: ClassMethod | null, + second: ClassMethod | null, + third?: ClassMethod | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassPropertyAssignment.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassPropertyAssignment.ts new file mode 100644 index 0000000000..4ad01d0ce7 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ClassPropertyAssignment.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ClassPropertyAssignment } from "../../../structures/ClassPropertyAssignment"; + +export const test_json_application_v3_1_ClassPropertyAssignment = + _test_json_application({ + version: "3.1", + name: "ClassPropertyAssignment", + })(typia.json.application()); + +interface ClassPropertyAssignmentApplication { + insert(first: ClassPropertyAssignment): Promise; + reduce( + first: ClassPropertyAssignment, + second: ClassPropertyAssignment | null, + ): Promise; + coalesce( + first: ClassPropertyAssignment | null, + second: ClassPropertyAssignment | null, + third?: ClassPropertyAssignment | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagArray.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagArray.ts new file mode 100644 index 0000000000..617dfe6127 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagArray } from "../../../structures/CommentTagArray"; + +export const test_json_application_v3_1_CommentTagArray = + _test_json_application({ + version: "3.1", + name: "CommentTagArray", + })(typia.json.application()); + +interface CommentTagArrayApplication { + insert(first: CommentTagArray): Promise; + reduce( + first: CommentTagArray, + second: CommentTagArray | null, + ): Promise; + coalesce( + first: CommentTagArray | null, + second: CommentTagArray | null, + third?: CommentTagArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagArrayUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagArrayUnion.ts new file mode 100644 index 0000000000..41afc9a475 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagArrayUnion } from "../../../structures/CommentTagArrayUnion"; + +export const test_json_application_v3_1_CommentTagArrayUnion = + _test_json_application({ + version: "3.1", + name: "CommentTagArrayUnion", + })(typia.json.application()); + +interface CommentTagArrayUnionApplication { + insert(first: CommentTagArrayUnion): Promise; + reduce( + first: CommentTagArrayUnion, + second: CommentTagArrayUnion | null, + ): Promise; + coalesce( + first: CommentTagArrayUnion | null, + second: CommentTagArrayUnion | null, + third?: CommentTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagAtomicUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagAtomicUnion.ts new file mode 100644 index 0000000000..3699e1143e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagAtomicUnion } from "../../../structures/CommentTagAtomicUnion"; + +export const test_json_application_v3_1_CommentTagAtomicUnion = + _test_json_application({ + version: "3.1", + name: "CommentTagAtomicUnion", + })(typia.json.application()); + +interface CommentTagAtomicUnionApplication { + insert(first: CommentTagAtomicUnion): Promise; + reduce( + first: CommentTagAtomicUnion, + second: CommentTagAtomicUnion | null, + ): Promise; + coalesce( + first: CommentTagAtomicUnion | null, + second: CommentTagAtomicUnion | null, + third?: CommentTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagDefault.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagDefault.ts new file mode 100644 index 0000000000..53b1cdc6c1 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagDefault.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagDefault } from "../../../structures/CommentTagDefault"; + +export const test_json_application_v3_1_CommentTagDefault = + _test_json_application({ + version: "3.1", + name: "CommentTagDefault", + })(typia.json.application()); + +interface CommentTagDefaultApplication { + insert(first: CommentTagDefault): Promise; + reduce( + first: CommentTagDefault, + second: CommentTagDefault | null, + ): Promise; + coalesce( + first: CommentTagDefault | null, + second: CommentTagDefault | null, + third?: CommentTagDefault | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagFormat.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagFormat.ts new file mode 100644 index 0000000000..eb84f85454 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagFormat.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagFormat } from "../../../structures/CommentTagFormat"; + +export const test_json_application_v3_1_CommentTagFormat = + _test_json_application({ + version: "3.1", + name: "CommentTagFormat", + })(typia.json.application()); + +interface CommentTagFormatApplication { + insert(first: CommentTagFormat): Promise; + reduce( + first: CommentTagFormat, + second: CommentTagFormat | null, + ): Promise; + coalesce( + first: CommentTagFormat | null, + second: CommentTagFormat | null, + third?: CommentTagFormat | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagLength.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagLength.ts new file mode 100644 index 0000000000..bddafee1fb --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagLength.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagLength } from "../../../structures/CommentTagLength"; + +export const test_json_application_v3_1_CommentTagLength = + _test_json_application({ + version: "3.1", + name: "CommentTagLength", + })(typia.json.application()); + +interface CommentTagLengthApplication { + insert(first: CommentTagLength): Promise; + reduce( + first: CommentTagLength, + second: CommentTagLength | null, + ): Promise; + coalesce( + first: CommentTagLength | null, + second: CommentTagLength | null, + third?: CommentTagLength | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagObjectUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagObjectUnion.ts new file mode 100644 index 0000000000..3432584acf --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagObjectUnion } from "../../../structures/CommentTagObjectUnion"; + +export const test_json_application_v3_1_CommentTagObjectUnion = + _test_json_application({ + version: "3.1", + name: "CommentTagObjectUnion", + })(typia.json.application()); + +interface CommentTagObjectUnionApplication { + insert(first: CommentTagObjectUnion): Promise; + reduce( + first: CommentTagObjectUnion, + second: CommentTagObjectUnion | null, + ): Promise; + coalesce( + first: CommentTagObjectUnion | null, + second: CommentTagObjectUnion | null, + third?: CommentTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagPattern.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagPattern.ts new file mode 100644 index 0000000000..18a736c8d8 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagPattern.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagPattern } from "../../../structures/CommentTagPattern"; + +export const test_json_application_v3_1_CommentTagPattern = + _test_json_application({ + version: "3.1", + name: "CommentTagPattern", + })(typia.json.application()); + +interface CommentTagPatternApplication { + insert(first: CommentTagPattern): Promise; + reduce( + first: CommentTagPattern, + second: CommentTagPattern | null, + ): Promise; + coalesce( + first: CommentTagPattern | null, + second: CommentTagPattern | null, + third?: CommentTagPattern | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagRange.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagRange.ts new file mode 100644 index 0000000000..8b5bae359b --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagRange.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagRange } from "../../../structures/CommentTagRange"; + +export const test_json_application_v3_1_CommentTagRange = + _test_json_application({ + version: "3.1", + name: "CommentTagRange", + })(typia.json.application()); + +interface CommentTagRangeApplication { + insert(first: CommentTagRange): Promise; + reduce( + first: CommentTagRange, + second: CommentTagRange | null, + ): Promise; + coalesce( + first: CommentTagRange | null, + second: CommentTagRange | null, + third?: CommentTagRange | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagType.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagType.ts new file mode 100644 index 0000000000..6de4cdfc70 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_CommentTagType.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { CommentTagType } from "../../../structures/CommentTagType"; + +export const test_json_application_v3_1_CommentTagType = _test_json_application( + { + version: "3.1", + name: "CommentTagType", + }, +)(typia.json.application()); + +interface CommentTagTypeApplication { + insert(first: CommentTagType): Promise; + reduce( + first: CommentTagType, + second: CommentTagType | null, + ): Promise; + coalesce( + first: CommentTagType | null, + second: CommentTagType | null, + third?: CommentTagType | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicAbsorbed.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicAbsorbed.ts new file mode 100644 index 0000000000..9a7b7c60be --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicAbsorbed.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicAbsorbed } from "../../../structures/ConstantAtomicAbsorbed"; + +export const test_json_application_v3_1_ConstantAtomicAbsorbed = + _test_json_application({ + version: "3.1", + name: "ConstantAtomicAbsorbed", + })(typia.json.application()); + +interface ConstantAtomicAbsorbedApplication { + insert(first: ConstantAtomicAbsorbed): Promise; + reduce( + first: ConstantAtomicAbsorbed, + second: ConstantAtomicAbsorbed | null, + ): Promise; + coalesce( + first: ConstantAtomicAbsorbed | null, + second: ConstantAtomicAbsorbed | null, + third?: ConstantAtomicAbsorbed | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicSimple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicSimple.ts new file mode 100644 index 0000000000..470b24041e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicSimple } from "../../../structures/ConstantAtomicSimple"; + +export const test_json_application_v3_1_ConstantAtomicSimple = + _test_json_application({ + version: "3.1", + name: "ConstantAtomicSimple", + })(typia.json.application()); + +interface ConstantAtomicSimpleApplication { + insert(first: ConstantAtomicSimple): Promise; + reduce( + first: ConstantAtomicSimple, + second: ConstantAtomicSimple | null, + ): Promise; + coalesce( + first: ConstantAtomicSimple | null, + second: ConstantAtomicSimple | null, + third?: ConstantAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicTagged.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicTagged.ts new file mode 100644 index 0000000000..17e5e08004 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicTagged.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicTagged } from "../../../structures/ConstantAtomicTagged"; + +export const test_json_application_v3_1_ConstantAtomicTagged = + _test_json_application({ + version: "3.1", + name: "ConstantAtomicTagged", + })(typia.json.application()); + +interface ConstantAtomicTaggedApplication { + insert(first: ConstantAtomicTagged): Promise; + reduce( + first: ConstantAtomicTagged, + second: ConstantAtomicTagged | null, + ): Promise; + coalesce( + first: ConstantAtomicTagged | null, + second: ConstantAtomicTagged | null, + third?: ConstantAtomicTagged | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicUnion.ts new file mode 100644 index 0000000000..492d21f4da --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicUnion } from "../../../structures/ConstantAtomicUnion"; + +export const test_json_application_v3_1_ConstantAtomicUnion = + _test_json_application({ + version: "3.1", + name: "ConstantAtomicUnion", + })(typia.json.application()); + +interface ConstantAtomicUnionApplication { + insert(first: ConstantAtomicUnion): Promise; + reduce( + first: ConstantAtomicUnion, + second: ConstantAtomicUnion | null, + ): Promise; + coalesce( + first: ConstantAtomicUnion | null, + second: ConstantAtomicUnion | null, + third?: ConstantAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicWrapper.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicWrapper.ts new file mode 100644 index 0000000000..06c042ee19 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantAtomicWrapper.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantAtomicWrapper } from "../../../structures/ConstantAtomicWrapper"; + +export const test_json_application_v3_1_ConstantAtomicWrapper = + _test_json_application({ + version: "3.1", + name: "ConstantAtomicWrapper", + })(typia.json.application()); + +interface ConstantAtomicWrapperApplication { + insert(first: ConstantAtomicWrapper): Promise; + reduce( + first: ConstantAtomicWrapper, + second: ConstantAtomicWrapper | null, + ): Promise; + coalesce( + first: ConstantAtomicWrapper | null, + second: ConstantAtomicWrapper | null, + third?: ConstantAtomicWrapper | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantConstEnumeration.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantConstEnumeration.ts new file mode 100644 index 0000000000..ffbc7ebc6d --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantConstEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantConstEnumeration } from "../../../structures/ConstantConstEnumeration"; + +export const test_json_application_v3_1_ConstantConstEnumeration = + _test_json_application({ + version: "3.1", + name: "ConstantConstEnumeration", + })(typia.json.application()); + +interface ConstantConstEnumerationApplication { + insert(first: ConstantConstEnumeration): Promise; + reduce( + first: ConstantConstEnumeration, + second: ConstantConstEnumeration | null, + ): Promise; + coalesce( + first: ConstantConstEnumeration | null, + second: ConstantConstEnumeration | null, + third?: ConstantConstEnumeration | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantEnumeration.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantEnumeration.ts new file mode 100644 index 0000000000..e3df0efcbb --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantEnumeration } from "../../../structures/ConstantEnumeration"; + +export const test_json_application_v3_1_ConstantEnumeration = + _test_json_application({ + version: "3.1", + name: "ConstantEnumeration", + })(typia.json.application()); + +interface ConstantEnumerationApplication { + insert(first: ConstantEnumeration): Promise; + reduce( + first: ConstantEnumeration, + second: ConstantEnumeration | null, + ): Promise; + coalesce( + first: ConstantEnumeration | null, + second: ConstantEnumeration | null, + third?: ConstantEnumeration | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantIntersection.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantIntersection.ts new file mode 100644 index 0000000000..c29b716e19 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ConstantIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ConstantIntersection } from "../../../structures/ConstantIntersection"; + +export const test_json_application_v3_1_ConstantIntersection = + _test_json_application({ + version: "3.1", + name: "ConstantIntersection", + })(typia.json.application()); + +interface ConstantIntersectionApplication { + insert(first: ConstantIntersection): Promise; + reduce( + first: ConstantIntersection, + second: ConstantIntersection | null, + ): Promise; + coalesce( + first: ConstantIntersection | null, + second: ConstantIntersection | null, + third?: ConstantIntersection | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicArray.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicArray.ts new file mode 100644 index 0000000000..f9abf4b061 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicArray } from "../../../structures/DynamicArray"; + +export const test_json_application_v3_1_DynamicArray = _test_json_application({ + version: "3.1", + name: "DynamicArray", +})(typia.json.application()); + +interface DynamicArrayApplication { + insert(first: DynamicArray): Promise; + reduce( + first: DynamicArray, + second: DynamicArray | null, + ): Promise; + coalesce( + first: DynamicArray | null, + second: DynamicArray | null, + third?: DynamicArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicComposite.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicComposite.ts new file mode 100644 index 0000000000..d8b3342e53 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicComposite } from "../../../structures/DynamicComposite"; + +export const test_json_application_v3_1_DynamicComposite = + _test_json_application({ + version: "3.1", + name: "DynamicComposite", + })(typia.json.application()); + +interface DynamicCompositeApplication { + insert(first: DynamicComposite): Promise; + reduce( + first: DynamicComposite, + second: DynamicComposite | null, + ): Promise; + coalesce( + first: DynamicComposite | null, + second: DynamicComposite | null, + third?: DynamicComposite | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicConstant.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicConstant.ts new file mode 100644 index 0000000000..12ee9437e6 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicConstant } from "../../../structures/DynamicConstant"; + +export const test_json_application_v3_1_DynamicConstant = + _test_json_application({ + version: "3.1", + name: "DynamicConstant", + })(typia.json.application()); + +interface DynamicConstantApplication { + insert(first: DynamicConstant): Promise; + reduce( + first: DynamicConstant, + second: DynamicConstant | null, + ): Promise; + coalesce( + first: DynamicConstant | null, + second: DynamicConstant | null, + third?: DynamicConstant | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicEnumeration.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicEnumeration.ts new file mode 100644 index 0000000000..21177047b6 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicEnumeration } from "../../../structures/DynamicEnumeration"; + +export const test_json_application_v3_1_DynamicEnumeration = + _test_json_application({ + version: "3.1", + name: "DynamicEnumeration", + })(typia.json.application()); + +interface DynamicEnumerationApplication { + insert(first: DynamicEnumeration): Promise; + reduce( + first: DynamicEnumeration, + second: DynamicEnumeration | null, + ): Promise; + coalesce( + first: DynamicEnumeration | null, + second: DynamicEnumeration | null, + third?: DynamicEnumeration | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicNever.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicNever.ts new file mode 100644 index 0000000000..52507d1cf0 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicNever.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicNever } from "../../../structures/DynamicNever"; + +export const test_json_application_v3_1_DynamicNever = _test_json_application({ + version: "3.1", + name: "DynamicNever", +})(typia.json.application()); + +interface DynamicNeverApplication { + insert(first: DynamicNever): Promise; + reduce( + first: DynamicNever, + second: DynamicNever | null, + ): Promise; + coalesce( + first: DynamicNever | null, + second: DynamicNever | null, + third?: DynamicNever | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicSimple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicSimple.ts new file mode 100644 index 0000000000..22dd84e036 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicSimple } from "../../../structures/DynamicSimple"; + +export const test_json_application_v3_1_DynamicSimple = _test_json_application({ + version: "3.1", + name: "DynamicSimple", +})(typia.json.application()); + +interface DynamicSimpleApplication { + insert(first: DynamicSimple): Promise; + reduce( + first: DynamicSimple, + second: DynamicSimple | null, + ): Promise; + coalesce( + first: DynamicSimple | null, + second: DynamicSimple | null, + third?: DynamicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicTemplate.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicTemplate.ts new file mode 100644 index 0000000000..0d90741d41 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicTemplate.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicTemplate } from "../../../structures/DynamicTemplate"; + +export const test_json_application_v3_1_DynamicTemplate = + _test_json_application({ + version: "3.1", + name: "DynamicTemplate", + })(typia.json.application()); + +interface DynamicTemplateApplication { + insert(first: DynamicTemplate): Promise; + reduce( + first: DynamicTemplate, + second: DynamicTemplate | null, + ): Promise; + coalesce( + first: DynamicTemplate | null, + second: DynamicTemplate | null, + third?: DynamicTemplate | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicTree.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicTree.ts new file mode 100644 index 0000000000..8a969fb052 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicTree.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_json_application_v3_1_DynamicTree = _test_json_application({ + version: "3.1", + name: "DynamicTree", +})(typia.json.application()); + +interface DynamicTreeApplication { + insert(first: DynamicTree): Promise; + reduce(first: DynamicTree, second: DynamicTree | null): Promise; + coalesce( + first: DynamicTree | null, + second: DynamicTree | null, + third?: DynamicTree | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicUndefined.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicUndefined.ts new file mode 100644 index 0000000000..703913c199 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicUndefined.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicUndefined } from "../../../structures/DynamicUndefined"; + +export const test_json_application_v3_1_DynamicUndefined = + _test_json_application({ + version: "3.1", + name: "DynamicUndefined", + })(typia.json.application()); + +interface DynamicUndefinedApplication { + insert(first: DynamicUndefined): Promise; + reduce( + first: DynamicUndefined, + second: DynamicUndefined | null, + ): Promise; + coalesce( + first: DynamicUndefined | null, + second: DynamicUndefined | null, + third?: DynamicUndefined | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicUnion.ts new file mode 100644 index 0000000000..2cb9901b3b --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_DynamicUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { DynamicUnion } from "../../../structures/DynamicUnion"; + +export const test_json_application_v3_1_DynamicUnion = _test_json_application({ + version: "3.1", + name: "DynamicUnion", +})(typia.json.application()); + +interface DynamicUnionApplication { + insert(first: DynamicUnion): Promise; + reduce( + first: DynamicUnion, + second: DynamicUnion | null, + ): Promise; + coalesce( + first: DynamicUnion | null, + second: DynamicUnion | null, + third?: DynamicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectAlias.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectAlias.ts new file mode 100644 index 0000000000..96f1dd00cc --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectAlias } from "../../../structures/ObjectAlias"; + +export const test_json_application_v3_1_ObjectAlias = _test_json_application({ + version: "3.1", + name: "ObjectAlias", +})(typia.json.application()); + +interface ObjectAliasApplication { + insert(first: ObjectAlias): Promise; + reduce(first: ObjectAlias, second: ObjectAlias | null): Promise; + coalesce( + first: ObjectAlias | null, + second: ObjectAlias | null, + third?: ObjectAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDate.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDate.ts new file mode 100644 index 0000000000..8cd9e5bc02 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDate.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectDate } from "../../../structures/ObjectDate"; + +export const test_json_application_v3_1_ObjectDate = _test_json_application({ + version: "3.1", + name: "ObjectDate", +})(typia.json.application()); + +interface ObjectDateApplication { + insert(first: ObjectDate): Promise; + reduce(first: ObjectDate, second: ObjectDate | null): Promise; + coalesce( + first: ObjectDate | null, + second: ObjectDate | null, + third?: ObjectDate | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDescription.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDescription.ts new file mode 100644 index 0000000000..28232a1ff8 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDescription.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectDescription } from "../../../structures/ObjectDescription"; + +export const test_json_application_v3_1_ObjectDescription = + _test_json_application({ + version: "3.1", + name: "ObjectDescription", + })(typia.json.application()); + +interface ObjectDescriptionApplication { + insert(first: ObjectDescription): Promise; + reduce( + first: ObjectDescription, + second: ObjectDescription | null, + ): Promise; + coalesce( + first: ObjectDescription | null, + second: ObjectDescription | null, + third?: ObjectDescription | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDynamic.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDynamic.ts new file mode 100644 index 0000000000..a2db38875a --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectDynamic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectDynamic } from "../../../structures/ObjectDynamic"; + +export const test_json_application_v3_1_ObjectDynamic = _test_json_application({ + version: "3.1", + name: "ObjectDynamic", +})(typia.json.application()); + +interface ObjectDynamicApplication { + insert(first: ObjectDynamic): Promise; + reduce( + first: ObjectDynamic, + second: ObjectDynamic | null, + ): Promise; + coalesce( + first: ObjectDynamic | null, + second: ObjectDynamic | null, + third?: ObjectDynamic | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGeneric.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGeneric.ts new file mode 100644 index 0000000000..c367ba0c13 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGeneric.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGeneric } from "../../../structures/ObjectGeneric"; + +export const test_json_application_v3_1_ObjectGeneric = _test_json_application({ + version: "3.1", + name: "ObjectGeneric", +})(typia.json.application()); + +interface ObjectGenericApplication { + insert(first: ObjectGeneric): Promise; + reduce( + first: ObjectGeneric, + second: ObjectGeneric | null, + ): Promise; + coalesce( + first: ObjectGeneric | null, + second: ObjectGeneric | null, + third?: ObjectGeneric | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericAlias.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericAlias.ts new file mode 100644 index 0000000000..5664d22076 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGenericAlias } from "../../../structures/ObjectGenericAlias"; + +export const test_json_application_v3_1_ObjectGenericAlias = + _test_json_application({ + version: "3.1", + name: "ObjectGenericAlias", + })(typia.json.application()); + +interface ObjectGenericAliasApplication { + insert(first: ObjectGenericAlias): Promise; + reduce( + first: ObjectGenericAlias, + second: ObjectGenericAlias | null, + ): Promise; + coalesce( + first: ObjectGenericAlias | null, + second: ObjectGenericAlias | null, + third?: ObjectGenericAlias | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericArray.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericArray.ts new file mode 100644 index 0000000000..480a30edf7 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGenericArray } from "../../../structures/ObjectGenericArray"; + +export const test_json_application_v3_1_ObjectGenericArray = + _test_json_application({ + version: "3.1", + name: "ObjectGenericArray", + })(typia.json.application()); + +interface ObjectGenericArrayApplication { + insert(first: ObjectGenericArray): Promise; + reduce( + first: ObjectGenericArray, + second: ObjectGenericArray | null, + ): Promise; + coalesce( + first: ObjectGenericArray | null, + second: ObjectGenericArray | null, + third?: ObjectGenericArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericUnion.ts new file mode 100644 index 0000000000..cf31778d6b --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectGenericUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectGenericUnion } from "../../../structures/ObjectGenericUnion"; + +export const test_json_application_v3_1_ObjectGenericUnion = + _test_json_application({ + version: "3.1", + name: "ObjectGenericUnion", + })(typia.json.application()); + +interface ObjectGenericUnionApplication { + insert(first: ObjectGenericUnion): Promise; + reduce( + first: ObjectGenericUnion, + second: ObjectGenericUnion | null, + ): Promise; + coalesce( + first: ObjectGenericUnion | null, + second: ObjectGenericUnion | null, + third?: ObjectGenericUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectHierarchical.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectHierarchical.ts new file mode 100644 index 0000000000..82f10905f6 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectHierarchical } from "../../../structures/ObjectHierarchical"; + +export const test_json_application_v3_1_ObjectHierarchical = + _test_json_application({ + version: "3.1", + name: "ObjectHierarchical", + })(typia.json.application()); + +interface ObjectHierarchicalApplication { + insert(first: ObjectHierarchical): Promise; + reduce( + first: ObjectHierarchical, + second: ObjectHierarchical | null, + ): Promise; + coalesce( + first: ObjectHierarchical | null, + second: ObjectHierarchical | null, + third?: ObjectHierarchical | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectInternal.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectInternal.ts new file mode 100644 index 0000000000..240d9e9883 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectInternal.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectInternal } from "../../../structures/ObjectInternal"; + +export const test_json_application_v3_1_ObjectInternal = _test_json_application( + { + version: "3.1", + name: "ObjectInternal", + }, +)(typia.json.application()); + +interface ObjectInternalApplication { + insert(first: ObjectInternal): Promise; + reduce( + first: ObjectInternal, + second: ObjectInternal | null, + ): Promise; + coalesce( + first: ObjectInternal | null, + second: ObjectInternal | null, + third?: ObjectInternal | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectIntersection.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectIntersection.ts new file mode 100644 index 0000000000..00c99d8383 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectIntersection } from "../../../structures/ObjectIntersection"; + +export const test_json_application_v3_1_ObjectIntersection = + _test_json_application({ + version: "3.1", + name: "ObjectIntersection", + })(typia.json.application()); + +interface ObjectIntersectionApplication { + insert(first: ObjectIntersection): Promise; + reduce( + first: ObjectIntersection, + second: ObjectIntersection | null, + ): Promise; + coalesce( + first: ObjectIntersection | null, + second: ObjectIntersection | null, + third?: ObjectIntersection | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectJsonTag.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectJsonTag.ts new file mode 100644 index 0000000000..1c1b7a3432 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectJsonTag.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectJsonTag } from "../../../structures/ObjectJsonTag"; + +export const test_json_application_v3_1_ObjectJsonTag = _test_json_application({ + version: "3.1", + name: "ObjectJsonTag", +})(typia.json.application()); + +interface ObjectJsonTagApplication { + insert(first: ObjectJsonTag): Promise; + reduce( + first: ObjectJsonTag, + second: ObjectJsonTag | null, + ): Promise; + coalesce( + first: ObjectJsonTag | null, + second: ObjectJsonTag | null, + third?: ObjectJsonTag | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectLiteralProperty.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectLiteralProperty.ts new file mode 100644 index 0000000000..b7205fabad --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectLiteralProperty.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectLiteralProperty } from "../../../structures/ObjectLiteralProperty"; + +export const test_json_application_v3_1_ObjectLiteralProperty = + _test_json_application({ + version: "3.1", + name: "ObjectLiteralProperty", + })(typia.json.application()); + +interface ObjectLiteralPropertyApplication { + insert(first: ObjectLiteralProperty): Promise; + reduce( + first: ObjectLiteralProperty, + second: ObjectLiteralProperty | null, + ): Promise; + coalesce( + first: ObjectLiteralProperty | null, + second: ObjectLiteralProperty | null, + third?: ObjectLiteralProperty | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectLiteralType.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectLiteralType.ts new file mode 100644 index 0000000000..548fef11c4 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectLiteralType.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectLiteralType } from "../../../structures/ObjectLiteralType"; + +export const test_json_application_v3_1_ObjectLiteralType = + _test_json_application({ + version: "3.1", + name: "ObjectLiteralType", + })(typia.json.application()); + +interface ObjectLiteralTypeApplication { + insert(first: ObjectLiteralType): Promise; + reduce( + first: ObjectLiteralType, + second: ObjectLiteralType | null, + ): Promise; + coalesce( + first: ObjectLiteralType | null, + second: ObjectLiteralType | null, + third?: ObjectLiteralType | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectNullable.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectNullable.ts new file mode 100644 index 0000000000..6e4d6d7583 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectNullable.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectNullable } from "../../../structures/ObjectNullable"; + +export const test_json_application_v3_1_ObjectNullable = _test_json_application( + { + version: "3.1", + name: "ObjectNullable", + }, +)(typia.json.application()); + +interface ObjectNullableApplication { + insert(first: ObjectNullable): Promise; + reduce( + first: ObjectNullable, + second: ObjectNullable | null, + ): Promise; + coalesce( + first: ObjectNullable | null, + second: ObjectNullable | null, + third?: ObjectNullable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectOptional.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectOptional.ts new file mode 100644 index 0000000000..14012be460 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectOptional.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectOptional } from "../../../structures/ObjectOptional"; + +export const test_json_application_v3_1_ObjectOptional = _test_json_application( + { + version: "3.1", + name: "ObjectOptional", + }, +)(typia.json.application()); + +interface ObjectOptionalApplication { + insert(first: ObjectOptional): Promise; + reduce( + first: ObjectOptional, + second: ObjectOptional | null, + ): Promise; + coalesce( + first: ObjectOptional | null, + second: ObjectOptional | null, + third?: ObjectOptional | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPartial.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPartial.ts new file mode 100644 index 0000000000..ac3fa05d07 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPartial.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_json_application_v3_1_ObjectPartial = _test_json_application({ + version: "3.1", + name: "ObjectPartial", +})(typia.json.application()); + +interface ObjectPartialApplication { + insert(first: ObjectPartial): Promise; + reduce( + first: ObjectPartial, + second: ObjectPartial | null, + ): Promise; + coalesce( + first: ObjectPartial | null, + second: ObjectPartial | null, + third?: ObjectPartial | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPartialAndRequired.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..d581606bb5 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPartialAndRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_json_application_v3_1_ObjectPartialAndRequired = + _test_json_application({ + version: "3.1", + name: "ObjectPartialAndRequired", + })(typia.json.application()); + +interface ObjectPartialAndRequiredApplication { + insert(first: ObjectPartialAndRequired): Promise; + reduce( + first: ObjectPartialAndRequired, + second: ObjectPartialAndRequired | null, + ): Promise; + coalesce( + first: ObjectPartialAndRequired | null, + second: ObjectPartialAndRequired | null, + third?: ObjectPartialAndRequired | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPrimitive.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPrimitive.ts new file mode 100644 index 0000000000..eb2e50c470 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPrimitive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPrimitive } from "../../../structures/ObjectPrimitive"; + +export const test_json_application_v3_1_ObjectPrimitive = + _test_json_application({ + version: "3.1", + name: "ObjectPrimitive", + })(typia.json.application()); + +interface ObjectPrimitiveApplication { + insert(first: ObjectPrimitive): Promise; + reduce( + first: ObjectPrimitive, + second: ObjectPrimitive | null, + ): Promise; + coalesce( + first: ObjectPrimitive | null, + second: ObjectPrimitive | null, + third?: ObjectPrimitive | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPropertyNullable.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPropertyNullable.ts new file mode 100644 index 0000000000..008062233e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectPropertyNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectPropertyNullable } from "../../../structures/ObjectPropertyNullable"; + +export const test_json_application_v3_1_ObjectPropertyNullable = + _test_json_application({ + version: "3.1", + name: "ObjectPropertyNullable", + })(typia.json.application()); + +interface ObjectPropertyNullableApplication { + insert(first: ObjectPropertyNullable): Promise; + reduce( + first: ObjectPropertyNullable, + second: ObjectPropertyNullable | null, + ): Promise; + coalesce( + first: ObjectPropertyNullable | null, + second: ObjectPropertyNullable | null, + third?: ObjectPropertyNullable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectRecursive.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectRecursive.ts new file mode 100644 index 0000000000..d51585e41d --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectRecursive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_json_application_v3_1_ObjectRecursive = + _test_json_application({ + version: "3.1", + name: "ObjectRecursive", + })(typia.json.application()); + +interface ObjectRecursiveApplication { + insert(first: ObjectRecursive): Promise; + reduce( + first: ObjectRecursive, + second: ObjectRecursive | null, + ): Promise; + coalesce( + first: ObjectRecursive | null, + second: ObjectRecursive | null, + third?: ObjectRecursive | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectRequired.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectRequired.ts new file mode 100644 index 0000000000..4b5d685fc7 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectRequired.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_json_application_v3_1_ObjectRequired = _test_json_application( + { + version: "3.1", + name: "ObjectRequired", + }, +)(typia.json.application()); + +interface ObjectRequiredApplication { + insert(first: ObjectRequired): Promise; + reduce( + first: ObjectRequired, + second: ObjectRequired | null, + ): Promise; + coalesce( + first: ObjectRequired | null, + second: ObjectRequired | null, + third?: ObjectRequired | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectSimple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectSimple.ts new file mode 100644 index 0000000000..244e28c64e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectSimple } from "../../../structures/ObjectSimple"; + +export const test_json_application_v3_1_ObjectSimple = _test_json_application({ + version: "3.1", + name: "ObjectSimple", +})(typia.json.application()); + +interface ObjectSimpleApplication { + insert(first: ObjectSimple): Promise; + reduce( + first: ObjectSimple, + second: ObjectSimple | null, + ): Promise; + coalesce( + first: ObjectSimple | null, + second: ObjectSimple | null, + third?: ObjectSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectTuple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectTuple.ts new file mode 100644 index 0000000000..1b0b86b888 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectTuple } from "../../../structures/ObjectTuple"; + +export const test_json_application_v3_1_ObjectTuple = _test_json_application({ + version: "3.1", + name: "ObjectTuple", +})(typia.json.application()); + +interface ObjectTupleApplication { + insert(first: ObjectTuple): Promise; + reduce(first: ObjectTuple, second: ObjectTuple | null): Promise; + coalesce( + first: ObjectTuple | null, + second: ObjectTuple | null, + third?: ObjectTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUndefined.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUndefined.ts new file mode 100644 index 0000000000..17c33e0db2 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUndefined.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUndefined } from "../../../structures/ObjectUndefined"; + +export const test_json_application_v3_1_ObjectUndefined = + _test_json_application({ + version: "3.1", + name: "ObjectUndefined", + })(typia.json.application()); + +interface ObjectUndefinedApplication { + insert(first: ObjectUndefined): Promise; + reduce( + first: ObjectUndefined, + second: ObjectUndefined | null, + ): Promise; + coalesce( + first: ObjectUndefined | null, + second: ObjectUndefined | null, + third?: ObjectUndefined | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionComposite.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionComposite.ts new file mode 100644 index 0000000000..075b688ff9 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionComposite } from "../../../structures/ObjectUnionComposite"; + +export const test_json_application_v3_1_ObjectUnionComposite = + _test_json_application({ + version: "3.1", + name: "ObjectUnionComposite", + })(typia.json.application()); + +interface ObjectUnionCompositeApplication { + insert(first: ObjectUnionComposite): Promise; + reduce( + first: ObjectUnionComposite, + second: ObjectUnionComposite | null, + ): Promise; + coalesce( + first: ObjectUnionComposite | null, + second: ObjectUnionComposite | null, + third?: ObjectUnionComposite | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionCompositePointer.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionCompositePointer.ts new file mode 100644 index 0000000000..62b2459812 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionCompositePointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionCompositePointer } from "../../../structures/ObjectUnionCompositePointer"; + +export const test_json_application_v3_1_ObjectUnionCompositePointer = + _test_json_application({ + version: "3.1", + name: "ObjectUnionCompositePointer", + })(typia.json.application()); + +interface ObjectUnionCompositePointerApplication { + insert(first: ObjectUnionCompositePointer): Promise; + reduce( + first: ObjectUnionCompositePointer, + second: ObjectUnionCompositePointer | null, + ): Promise; + coalesce( + first: ObjectUnionCompositePointer | null, + second: ObjectUnionCompositePointer | null, + third?: ObjectUnionCompositePointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionDouble.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionDouble.ts new file mode 100644 index 0000000000..0ffb7cf963 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionDouble.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionDouble } from "../../../structures/ObjectUnionDouble"; + +export const test_json_application_v3_1_ObjectUnionDouble = + _test_json_application({ + version: "3.1", + name: "ObjectUnionDouble", + })(typia.json.application()); + +interface ObjectUnionDoubleApplication { + insert(first: ObjectUnionDouble): Promise; + reduce( + first: ObjectUnionDouble, + second: ObjectUnionDouble | null, + ): Promise; + coalesce( + first: ObjectUnionDouble | null, + second: ObjectUnionDouble | null, + third?: ObjectUnionDouble | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionExplicit.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionExplicit.ts new file mode 100644 index 0000000000..b1d6bf4c79 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionExplicit } from "../../../structures/ObjectUnionExplicit"; + +export const test_json_application_v3_1_ObjectUnionExplicit = + _test_json_application({ + version: "3.1", + name: "ObjectUnionExplicit", + })(typia.json.application()); + +interface ObjectUnionExplicitApplication { + insert(first: ObjectUnionExplicit): Promise; + reduce( + first: ObjectUnionExplicit, + second: ObjectUnionExplicit | null, + ): Promise; + coalesce( + first: ObjectUnionExplicit | null, + second: ObjectUnionExplicit | null, + third?: ObjectUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionExplicitPointer.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionExplicitPointer.ts new file mode 100644 index 0000000000..12724a5486 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionExplicitPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionExplicitPointer } from "../../../structures/ObjectUnionExplicitPointer"; + +export const test_json_application_v3_1_ObjectUnionExplicitPointer = + _test_json_application({ + version: "3.1", + name: "ObjectUnionExplicitPointer", + })(typia.json.application()); + +interface ObjectUnionExplicitPointerApplication { + insert(first: ObjectUnionExplicitPointer): Promise; + reduce( + first: ObjectUnionExplicitPointer, + second: ObjectUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ObjectUnionExplicitPointer | null, + second: ObjectUnionExplicitPointer | null, + third?: ObjectUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionImplicit.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionImplicit.ts new file mode 100644 index 0000000000..7289181277 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionImplicit } from "../../../structures/ObjectUnionImplicit"; + +export const test_json_application_v3_1_ObjectUnionImplicit = + _test_json_application({ + version: "3.1", + name: "ObjectUnionImplicit", + })(typia.json.application()); + +interface ObjectUnionImplicitApplication { + insert(first: ObjectUnionImplicit): Promise; + reduce( + first: ObjectUnionImplicit, + second: ObjectUnionImplicit | null, + ): Promise; + coalesce( + first: ObjectUnionImplicit | null, + second: ObjectUnionImplicit | null, + third?: ObjectUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionNonPredictable.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionNonPredictable.ts new file mode 100644 index 0000000000..16b0c7c225 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ObjectUnionNonPredictable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ObjectUnionNonPredictable } from "../../../structures/ObjectUnionNonPredictable"; + +export const test_json_application_v3_1_ObjectUnionNonPredictable = + _test_json_application({ + version: "3.1", + name: "ObjectUnionNonPredictable", + })(typia.json.application()); + +interface ObjectUnionNonPredictableApplication { + insert(first: ObjectUnionNonPredictable): Promise; + reduce( + first: ObjectUnionNonPredictable, + second: ObjectUnionNonPredictable | null, + ): Promise; + coalesce( + first: ObjectUnionNonPredictable | null, + second: ObjectUnionNonPredictable | null, + third?: ObjectUnionNonPredictable | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateAtomic.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateAtomic.ts new file mode 100644 index 0000000000..7172e9af6c --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateAtomic.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TemplateAtomic } from "../../../structures/TemplateAtomic"; + +export const test_json_application_v3_1_TemplateAtomic = _test_json_application( + { + version: "3.1", + name: "TemplateAtomic", + }, +)(typia.json.application()); + +interface TemplateAtomicApplication { + insert(first: TemplateAtomic): Promise; + reduce( + first: TemplateAtomic, + second: TemplateAtomic | null, + ): Promise; + coalesce( + first: TemplateAtomic | null, + second: TemplateAtomic | null, + third?: TemplateAtomic | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateConstant.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateConstant.ts new file mode 100644 index 0000000000..55f3c15de1 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TemplateConstant } from "../../../structures/TemplateConstant"; + +export const test_json_application_v3_1_TemplateConstant = + _test_json_application({ + version: "3.1", + name: "TemplateConstant", + })(typia.json.application()); + +interface TemplateConstantApplication { + insert(first: TemplateConstant): Promise; + reduce( + first: TemplateConstant, + second: TemplateConstant | null, + ): Promise; + coalesce( + first: TemplateConstant | null, + second: TemplateConstant | null, + third?: TemplateConstant | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateUnion.ts new file mode 100644 index 0000000000..2b86a056a0 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TemplateUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TemplateUnion } from "../../../structures/TemplateUnion"; + +export const test_json_application_v3_1_TemplateUnion = _test_json_application({ + version: "3.1", + name: "TemplateUnion", +})(typia.json.application()); + +interface TemplateUnionApplication { + insert(first: TemplateUnion): Promise; + reduce( + first: TemplateUnion, + second: TemplateUnion | null, + ): Promise; + coalesce( + first: TemplateUnion | null, + second: TemplateUnion | null, + third?: TemplateUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonArray.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonArray.ts new file mode 100644 index 0000000000..829b7a237c --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonArray.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonArray } from "../../../structures/ToJsonArray"; + +export const test_json_application_v3_1_ToJsonArray = _test_json_application({ + version: "3.1", + name: "ToJsonArray", +})(typia.json.application()); + +interface ToJsonArrayApplication { + insert(first: ToJsonArray): Promise; + reduce(first: ToJsonArray, second: ToJsonArray | null): Promise; + coalesce( + first: ToJsonArray | null, + second: ToJsonArray | null, + third?: ToJsonArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonAtomicSimple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonAtomicSimple.ts new file mode 100644 index 0000000000..e45a519470 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonAtomicSimple } from "../../../structures/ToJsonAtomicSimple"; + +export const test_json_application_v3_1_ToJsonAtomicSimple = + _test_json_application({ + version: "3.1", + name: "ToJsonAtomicSimple", + })(typia.json.application()); + +interface ToJsonAtomicSimpleApplication { + insert(first: ToJsonAtomicSimple): Promise; + reduce( + first: ToJsonAtomicSimple, + second: ToJsonAtomicSimple | null, + ): Promise; + coalesce( + first: ToJsonAtomicSimple | null, + second: ToJsonAtomicSimple | null, + third?: ToJsonAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonAtomicUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonAtomicUnion.ts new file mode 100644 index 0000000000..1605c5dd5b --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonAtomicUnion } from "../../../structures/ToJsonAtomicUnion"; + +export const test_json_application_v3_1_ToJsonAtomicUnion = + _test_json_application({ + version: "3.1", + name: "ToJsonAtomicUnion", + })(typia.json.application()); + +interface ToJsonAtomicUnionApplication { + insert(first: ToJsonAtomicUnion): Promise; + reduce( + first: ToJsonAtomicUnion, + second: ToJsonAtomicUnion | null, + ): Promise; + coalesce( + first: ToJsonAtomicUnion | null, + second: ToJsonAtomicUnion | null, + third?: ToJsonAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonDouble.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonDouble.ts new file mode 100644 index 0000000000..a9dabe4333 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonDouble.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonDouble } from "../../../structures/ToJsonDouble"; + +export const test_json_application_v3_1_ToJsonDouble = _test_json_application({ + version: "3.1", + name: "ToJsonDouble", +})(typia.json.application()); + +interface ToJsonDoubleApplication { + insert(first: ToJsonDouble): Promise; + reduce( + first: ToJsonDouble, + second: ToJsonDouble | null, + ): Promise; + coalesce( + first: ToJsonDouble | null, + second: ToJsonDouble | null, + third?: ToJsonDouble | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonNull.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonNull.ts new file mode 100644 index 0000000000..bfcc765713 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonNull.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonNull } from "../../../structures/ToJsonNull"; + +export const test_json_application_v3_1_ToJsonNull = _test_json_application({ + version: "3.1", + name: "ToJsonNull", +})(typia.json.application()); + +interface ToJsonNullApplication { + insert(first: ToJsonNull): Promise; + reduce(first: ToJsonNull, second: ToJsonNull | null): Promise; + coalesce( + first: ToJsonNull | null, + second: ToJsonNull | null, + third?: ToJsonNull | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonTuple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonTuple.ts new file mode 100644 index 0000000000..a58d2b9191 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonTuple } from "../../../structures/ToJsonTuple"; + +export const test_json_application_v3_1_ToJsonTuple = _test_json_application({ + version: "3.1", + name: "ToJsonTuple", +})(typia.json.application()); + +interface ToJsonTupleApplication { + insert(first: ToJsonTuple): Promise; + reduce(first: ToJsonTuple, second: ToJsonTuple | null): Promise; + coalesce( + first: ToJsonTuple | null, + second: ToJsonTuple | null, + third?: ToJsonTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonUnion.ts new file mode 100644 index 0000000000..770d907bc5 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_ToJsonUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { ToJsonUnion } from "../../../structures/ToJsonUnion"; + +export const test_json_application_v3_1_ToJsonUnion = _test_json_application({ + version: "3.1", + name: "ToJsonUnion", +})(typia.json.application()); + +interface ToJsonUnionApplication { + insert(first: ToJsonUnion): Promise; + reduce(first: ToJsonUnion, second: ToJsonUnion | null): Promise; + coalesce( + first: ToJsonUnion | null, + second: ToJsonUnion | null, + third?: ToJsonUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleHierarchical.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleHierarchical.ts new file mode 100644 index 0000000000..ab316c9c6f --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleHierarchical } from "../../../structures/TupleHierarchical"; + +export const test_json_application_v3_1_TupleHierarchical = + _test_json_application({ + version: "3.1", + name: "TupleHierarchical", + })(typia.json.application()); + +interface TupleHierarchicalApplication { + insert(first: TupleHierarchical): Promise; + reduce( + first: TupleHierarchical, + second: TupleHierarchical | null, + ): Promise; + coalesce( + first: TupleHierarchical | null, + second: TupleHierarchical | null, + third?: TupleHierarchical | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestArray.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestArray.ts new file mode 100644 index 0000000000..970618f5e9 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestArray.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleRestArray } from "../../../structures/TupleRestArray"; + +export const test_json_application_v3_1_TupleRestArray = _test_json_application( + { + version: "3.1", + name: "TupleRestArray", + }, +)(typia.json.application()); + +interface TupleRestArrayApplication { + insert(first: TupleRestArray): Promise; + reduce( + first: TupleRestArray, + second: TupleRestArray | null, + ): Promise; + coalesce( + first: TupleRestArray | null, + second: TupleRestArray | null, + third?: TupleRestArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestAtomic.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestAtomic.ts new file mode 100644 index 0000000000..b2d54b47a4 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestAtomic.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleRestAtomic } from "../../../structures/TupleRestAtomic"; + +export const test_json_application_v3_1_TupleRestAtomic = + _test_json_application({ + version: "3.1", + name: "TupleRestAtomic", + })(typia.json.application()); + +interface TupleRestAtomicApplication { + insert(first: TupleRestAtomic): Promise; + reduce( + first: TupleRestAtomic, + second: TupleRestAtomic | null, + ): Promise; + coalesce( + first: TupleRestAtomic | null, + second: TupleRestAtomic | null, + third?: TupleRestAtomic | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestObject.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestObject.ts new file mode 100644 index 0000000000..00dd37ee8a --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TupleRestObject.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TupleRestObject } from "../../../structures/TupleRestObject"; + +export const test_json_application_v3_1_TupleRestObject = + _test_json_application({ + version: "3.1", + name: "TupleRestObject", + })(typia.json.application()); + +interface TupleRestObjectApplication { + insert(first: TupleRestObject): Promise; + reduce( + first: TupleRestObject, + second: TupleRestObject | null, + ): Promise; + coalesce( + first: TupleRestObject | null, + second: TupleRestObject | null, + third?: TupleRestObject | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagArray.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagArray.ts new file mode 100644 index 0000000000..0d3c5b751e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagArray } from "../../../structures/TypeTagArray"; + +export const test_json_application_v3_1_TypeTagArray = _test_json_application({ + version: "3.1", + name: "TypeTagArray", +})(typia.json.application()); + +interface TypeTagArrayApplication { + insert(first: TypeTagArray): Promise; + reduce( + first: TypeTagArray, + second: TypeTagArray | null, + ): Promise; + coalesce( + first: TypeTagArray | null, + second: TypeTagArray | null, + third?: TypeTagArray | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagArrayUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagArrayUnion.ts new file mode 100644 index 0000000000..dd3cc1376d --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagArrayUnion } from "../../../structures/TypeTagArrayUnion"; + +export const test_json_application_v3_1_TypeTagArrayUnion = + _test_json_application({ + version: "3.1", + name: "TypeTagArrayUnion", + })(typia.json.application()); + +interface TypeTagArrayUnionApplication { + insert(first: TypeTagArrayUnion): Promise; + reduce( + first: TypeTagArrayUnion, + second: TypeTagArrayUnion | null, + ): Promise; + coalesce( + first: TypeTagArrayUnion | null, + second: TypeTagArrayUnion | null, + third?: TypeTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagAtomicUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagAtomicUnion.ts new file mode 100644 index 0000000000..e6cb27a02a --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagAtomicUnion } from "../../../structures/TypeTagAtomicUnion"; + +export const test_json_application_v3_1_TypeTagAtomicUnion = + _test_json_application({ + version: "3.1", + name: "TypeTagAtomicUnion", + })(typia.json.application()); + +interface TypeTagAtomicUnionApplication { + insert(first: TypeTagAtomicUnion): Promise; + reduce( + first: TypeTagAtomicUnion, + second: TypeTagAtomicUnion | null, + ): Promise; + coalesce( + first: TypeTagAtomicUnion | null, + second: TypeTagAtomicUnion | null, + third?: TypeTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagCustom.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagCustom.ts new file mode 100644 index 0000000000..b0ccae3cb2 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagCustom.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagCustom } from "../../../structures/TypeTagCustom"; + +export const test_json_application_v3_1_TypeTagCustom = _test_json_application({ + version: "3.1", + name: "TypeTagCustom", +})(typia.json.application()); + +interface TypeTagCustomApplication { + insert(first: TypeTagCustom): Promise; + reduce( + first: TypeTagCustom, + second: TypeTagCustom | null, + ): Promise; + coalesce( + first: TypeTagCustom | null, + second: TypeTagCustom | null, + third?: TypeTagCustom | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagDefault.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagDefault.ts new file mode 100644 index 0000000000..3743e5197e --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagDefault.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagDefault } from "../../../structures/TypeTagDefault"; + +export const test_json_application_v3_1_TypeTagDefault = _test_json_application( + { + version: "3.1", + name: "TypeTagDefault", + }, +)(typia.json.application()); + +interface TypeTagDefaultApplication { + insert(first: TypeTagDefault): Promise; + reduce( + first: TypeTagDefault, + second: TypeTagDefault | null, + ): Promise; + coalesce( + first: TypeTagDefault | null, + second: TypeTagDefault | null, + third?: TypeTagDefault | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagFormat.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagFormat.ts new file mode 100644 index 0000000000..dc9071782a --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagFormat.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagFormat } from "../../../structures/TypeTagFormat"; + +export const test_json_application_v3_1_TypeTagFormat = _test_json_application({ + version: "3.1", + name: "TypeTagFormat", +})(typia.json.application()); + +interface TypeTagFormatApplication { + insert(first: TypeTagFormat): Promise; + reduce( + first: TypeTagFormat, + second: TypeTagFormat | null, + ): Promise; + coalesce( + first: TypeTagFormat | null, + second: TypeTagFormat | null, + third?: TypeTagFormat | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagLength.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagLength.ts new file mode 100644 index 0000000000..50ff3e91dd --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagLength.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagLength } from "../../../structures/TypeTagLength"; + +export const test_json_application_v3_1_TypeTagLength = _test_json_application({ + version: "3.1", + name: "TypeTagLength", +})(typia.json.application()); + +interface TypeTagLengthApplication { + insert(first: TypeTagLength): Promise; + reduce( + first: TypeTagLength, + second: TypeTagLength | null, + ): Promise; + coalesce( + first: TypeTagLength | null, + second: TypeTagLength | null, + third?: TypeTagLength | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagMatrix.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagMatrix.ts new file mode 100644 index 0000000000..24fb013fe5 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagMatrix.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagMatrix } from "../../../structures/TypeTagMatrix"; + +export const test_json_application_v3_1_TypeTagMatrix = _test_json_application({ + version: "3.1", + name: "TypeTagMatrix", +})(typia.json.application()); + +interface TypeTagMatrixApplication { + insert(first: TypeTagMatrix): Promise; + reduce( + first: TypeTagMatrix, + second: TypeTagMatrix | null, + ): Promise; + coalesce( + first: TypeTagMatrix | null, + second: TypeTagMatrix | null, + third?: TypeTagMatrix | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagObjectUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagObjectUnion.ts new file mode 100644 index 0000000000..08e131a784 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagObjectUnion } from "../../../structures/TypeTagObjectUnion"; + +export const test_json_application_v3_1_TypeTagObjectUnion = + _test_json_application({ + version: "3.1", + name: "TypeTagObjectUnion", + })(typia.json.application()); + +interface TypeTagObjectUnionApplication { + insert(first: TypeTagObjectUnion): Promise; + reduce( + first: TypeTagObjectUnion, + second: TypeTagObjectUnion | null, + ): Promise; + coalesce( + first: TypeTagObjectUnion | null, + second: TypeTagObjectUnion | null, + third?: TypeTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagPattern.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagPattern.ts new file mode 100644 index 0000000000..0138c33509 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagPattern.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagPattern } from "../../../structures/TypeTagPattern"; + +export const test_json_application_v3_1_TypeTagPattern = _test_json_application( + { + version: "3.1", + name: "TypeTagPattern", + }, +)(typia.json.application()); + +interface TypeTagPatternApplication { + insert(first: TypeTagPattern): Promise; + reduce( + first: TypeTagPattern, + second: TypeTagPattern | null, + ): Promise; + coalesce( + first: TypeTagPattern | null, + second: TypeTagPattern | null, + third?: TypeTagPattern | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagRange.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagRange.ts new file mode 100644 index 0000000000..9667653ccd --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagRange } from "../../../structures/TypeTagRange"; + +export const test_json_application_v3_1_TypeTagRange = _test_json_application({ + version: "3.1", + name: "TypeTagRange", +})(typia.json.application()); + +interface TypeTagRangeApplication { + insert(first: TypeTagRange): Promise; + reduce( + first: TypeTagRange, + second: TypeTagRange | null, + ): Promise; + coalesce( + first: TypeTagRange | null, + second: TypeTagRange | null, + third?: TypeTagRange | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagTuple.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagTuple.ts new file mode 100644 index 0000000000..40555a5798 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagTuple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagTuple } from "../../../structures/TypeTagTuple"; + +export const test_json_application_v3_1_TypeTagTuple = _test_json_application({ + version: "3.1", + name: "TypeTagTuple", +})(typia.json.application()); + +interface TypeTagTupleApplication { + insert(first: TypeTagTuple): Promise; + reduce( + first: TypeTagTuple, + second: TypeTagTuple | null, + ): Promise; + coalesce( + first: TypeTagTuple | null, + second: TypeTagTuple | null, + third?: TypeTagTuple | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagType.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagType.ts new file mode 100644 index 0000000000..dce1030ab5 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_TypeTagType.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { TypeTagType } from "../../../structures/TypeTagType"; + +export const test_json_application_v3_1_TypeTagType = _test_json_application({ + version: "3.1", + name: "TypeTagType", +})(typia.json.application()); + +interface TypeTagTypeApplication { + insert(first: TypeTagType): Promise; + reduce(first: TypeTagType, second: TypeTagType | null): Promise; + coalesce( + first: TypeTagType | null, + second: TypeTagType | null, + third?: TypeTagType | null, + ): Promise; +} diff --git a/test/src/features/json.application/v3_1/test_json_application_v3_1_UltimateUnion.ts b/test/src/features/json.application/v3_1/test_json_application_v3_1_UltimateUnion.ts new file mode 100644 index 0000000000..ef4552cd97 --- /dev/null +++ b/test/src/features/json.application/v3_1/test_json_application_v3_1_UltimateUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_json_application } from "../../../internal/_test_json_application"; +import { UltimateUnion } from "../../../structures/UltimateUnion"; + +export const test_json_application_v3_1_UltimateUnion = _test_json_application({ + version: "3.1", + name: "UltimateUnion", +})(typia.json.application()); + +interface UltimateUnionApplication { + insert(first: UltimateUnion): Promise; + reduce( + first: UltimateUnion, + second: UltimateUnion | null, + ): Promise; + coalesce( + first: UltimateUnion | null, + second: UltimateUnion | null, + third?: UltimateUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAny.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAny.ts new file mode 100644 index 0000000000..d549d31899 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAny.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAny } from "../../../structures/ArrayAny"; + +export const test_llm_application_3_0_ArrayAny = _test_llm_application({ + model: "3.0", + name: "ArrayAny", +})(typia.llm.application()); + +interface ArrayAnyApplication { + insert(first: ArrayAny): Promise; + reduce(first: ArrayAny, second: ArrayAny | null): Promise; + coalesce( + first: ArrayAny | null, + second: ArrayAny | null, + third?: ArrayAny | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAtomicAlias.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAtomicAlias.ts new file mode 100644 index 0000000000..764623ec01 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAtomicAlias.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAtomicAlias } from "../../../structures/ArrayAtomicAlias"; + +export const test_llm_application_3_0_ArrayAtomicAlias = _test_llm_application({ + model: "3.0", + name: "ArrayAtomicAlias", +})(typia.llm.application()); + +interface ArrayAtomicAliasApplication { + insert(first: ArrayAtomicAlias): Promise; + reduce( + first: ArrayAtomicAlias, + second: ArrayAtomicAlias | null, + ): Promise; + coalesce( + first: ArrayAtomicAlias | null, + second: ArrayAtomicAlias | null, + third?: ArrayAtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAtomicSimple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAtomicSimple.ts new file mode 100644 index 0000000000..e007df3e01 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayAtomicSimple.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAtomicSimple } from "../../../structures/ArrayAtomicSimple"; + +export const test_llm_application_3_0_ArrayAtomicSimple = _test_llm_application( + { + model: "3.0", + name: "ArrayAtomicSimple", + }, +)(typia.llm.application()); + +interface ArrayAtomicSimpleApplication { + insert(first: ArrayAtomicSimple): Promise; + reduce( + first: ArrayAtomicSimple, + second: ArrayAtomicSimple | null, + ): Promise; + coalesce( + first: ArrayAtomicSimple | null, + second: ArrayAtomicSimple | null, + third?: ArrayAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayHierarchical.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayHierarchical.ts new file mode 100644 index 0000000000..b80b4a64bb --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayHierarchical.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchical } from "../../../structures/ArrayHierarchical"; + +export const test_llm_application_3_0_ArrayHierarchical = _test_llm_application( + { + model: "3.0", + name: "ArrayHierarchical", + }, +)(typia.llm.application()); + +interface ArrayHierarchicalApplication { + insert(first: ArrayHierarchical): Promise; + reduce( + first: ArrayHierarchical, + second: ArrayHierarchical | null, + ): Promise; + coalesce( + first: ArrayHierarchical | null, + second: ArrayHierarchical | null, + third?: ArrayHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayHierarchicalPointer.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayHierarchicalPointer.ts new file mode 100644 index 0000000000..296a21eed4 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayHierarchicalPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchicalPointer } from "../../../structures/ArrayHierarchicalPointer"; + +export const test_llm_application_3_0_ArrayHierarchicalPointer = + _test_llm_application({ + model: "3.0", + name: "ArrayHierarchicalPointer", + })(typia.llm.application()); + +interface ArrayHierarchicalPointerApplication { + insert(first: ArrayHierarchicalPointer): Promise; + reduce( + first: ArrayHierarchicalPointer, + second: ArrayHierarchicalPointer | null, + ): Promise; + coalesce( + first: ArrayHierarchicalPointer | null, + second: ArrayHierarchicalPointer | null, + third?: ArrayHierarchicalPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayMatrix.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayMatrix.ts new file mode 100644 index 0000000000..a9791ee876 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayMatrix.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayMatrix } from "../../../structures/ArrayMatrix"; + +export const test_llm_application_3_0_ArrayMatrix = _test_llm_application({ + model: "3.0", + name: "ArrayMatrix", +})(typia.llm.application()); + +interface ArrayMatrixApplication { + insert(first: ArrayMatrix): Promise; + reduce(first: ArrayMatrix, second: ArrayMatrix | null): Promise; + coalesce( + first: ArrayMatrix | null, + second: ArrayMatrix | null, + third?: ArrayMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursive.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursive.ts new file mode 100644 index 0000000000..379a9b8ed3 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursive.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_llm_application_3_0_ArrayRecursive = _test_llm_application({ + model: "3.0", + name: "ArrayRecursive", +})(typia.llm.application()); + +interface ArrayRecursiveApplication { + insert(first: ArrayRecursive): Promise; + reduce( + first: ArrayRecursive, + second: ArrayRecursive | null, + ): Promise; + coalesce( + first: ArrayRecursive | null, + second: ArrayRecursive | null, + third?: ArrayRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionExplicit.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionExplicit.ts new file mode 100644 index 0000000000..7f5e4647a9 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionExplicit } from "../../../structures/ArrayRecursiveUnionExplicit"; + +export const test_llm_application_3_0_ArrayRecursiveUnionExplicit = + _test_llm_application({ + model: "3.0", + name: "ArrayRecursiveUnionExplicit", + })(typia.llm.application()); + +interface ArrayRecursiveUnionExplicitApplication { + insert(first: ArrayRecursiveUnionExplicit): Promise; + reduce( + first: ArrayRecursiveUnionExplicit, + second: ArrayRecursiveUnionExplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicit | null, + second: ArrayRecursiveUnionExplicit | null, + third?: ArrayRecursiveUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionExplicitPointer.ts new file mode 100644 index 0000000000..14ce195c4a --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionExplicitPointer.ts @@ -0,0 +1,28 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionExplicitPointer } from "../../../structures/ArrayRecursiveUnionExplicitPointer"; + +export const test_llm_application_3_0_ArrayRecursiveUnionExplicitPointer = + _test_llm_application({ + model: "3.0", + name: "ArrayRecursiveUnionExplicitPointer", + })( + typia.llm.application< + ArrayRecursiveUnionExplicitPointerApplication, + "3.0" + >(), + ); + +interface ArrayRecursiveUnionExplicitPointerApplication { + insert(first: ArrayRecursiveUnionExplicitPointer): Promise; + reduce( + first: ArrayRecursiveUnionExplicitPointer, + second: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicitPointer | null, + second: ArrayRecursiveUnionExplicitPointer | null, + third?: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionImplicit.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionImplicit.ts new file mode 100644 index 0000000000..33add95f11 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRecursiveUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionImplicit } from "../../../structures/ArrayRecursiveUnionImplicit"; + +export const test_llm_application_3_0_ArrayRecursiveUnionImplicit = + _test_llm_application({ + model: "3.0", + name: "ArrayRecursiveUnionImplicit", + })(typia.llm.application()); + +interface ArrayRecursiveUnionImplicitApplication { + insert(first: ArrayRecursiveUnionImplicit): Promise; + reduce( + first: ArrayRecursiveUnionImplicit, + second: ArrayRecursiveUnionImplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionImplicit | null, + second: ArrayRecursiveUnionImplicit | null, + third?: ArrayRecursiveUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedNullable.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedNullable.ts new file mode 100644 index 0000000000..e4b7170984 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable"; + +export const test_llm_application_3_0_ArrayRepeatedNullable = + _test_llm_application({ + model: "3.0", + name: "ArrayRepeatedNullable", + })(typia.llm.application()); + +interface ArrayRepeatedNullableApplication { + insert(first: ArrayRepeatedNullable): Promise; + reduce( + first: ArrayRepeatedNullable, + second: ArrayRepeatedNullable | null, + ): Promise; + coalesce( + first: ArrayRepeatedNullable | null, + second: ArrayRepeatedNullable | null, + third?: ArrayRepeatedNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedRequired.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedRequired.ts new file mode 100644 index 0000000000..aaef967b0c --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired"; + +export const test_llm_application_3_0_ArrayRepeatedRequired = + _test_llm_application({ + model: "3.0", + name: "ArrayRepeatedRequired", + })(typia.llm.application()); + +interface ArrayRepeatedRequiredApplication { + insert(first: ArrayRepeatedRequired): Promise; + reduce( + first: ArrayRepeatedRequired, + second: ArrayRepeatedRequired | null, + ): Promise; + coalesce( + first: ArrayRepeatedRequired | null, + second: ArrayRepeatedRequired | null, + third?: ArrayRepeatedRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedUnion.ts new file mode 100644 index 0000000000..0d16ff42ad --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; + +export const test_llm_application_3_0_ArrayRepeatedUnion = + _test_llm_application({ + model: "3.0", + name: "ArrayRepeatedUnion", + })(typia.llm.application()); + +interface ArrayRepeatedUnionApplication { + insert(first: ArrayRepeatedUnion): Promise; + reduce( + first: ArrayRepeatedUnion, + second: ArrayRepeatedUnion | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnion | null, + second: ArrayRepeatedUnion | null, + third?: ArrayRepeatedUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedUnionWithTuple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedUnionWithTuple.ts new file mode 100644 index 0000000000..fea638f147 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayRepeatedUnionWithTuple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedUnionWithTuple } from "../../../structures/ArrayRepeatedUnionWithTuple"; + +export const test_llm_application_3_0_ArrayRepeatedUnionWithTuple = + _test_llm_application({ + model: "3.0", + name: "ArrayRepeatedUnionWithTuple", + })(typia.llm.application()); + +interface ArrayRepeatedUnionWithTupleApplication { + insert(first: ArrayRepeatedUnionWithTuple): Promise; + reduce( + first: ArrayRepeatedUnionWithTuple, + second: ArrayRepeatedUnionWithTuple | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnionWithTuple | null, + second: ArrayRepeatedUnionWithTuple | null, + third?: ArrayRepeatedUnionWithTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArraySimple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArraySimple.ts new file mode 100644 index 0000000000..85aceaa4bf --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArraySimple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArraySimple } from "../../../structures/ArraySimple"; + +export const test_llm_application_3_0_ArraySimple = _test_llm_application({ + model: "3.0", + name: "ArraySimple", +})(typia.llm.application()); + +interface ArraySimpleApplication { + insert(first: ArraySimple): Promise; + reduce(first: ArraySimple, second: ArraySimple | null): Promise; + coalesce( + first: ArraySimple | null, + second: ArraySimple | null, + third?: ArraySimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayUnion.ts new file mode 100644 index 0000000000..6c7e094077 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ArrayUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayUnion } from "../../../structures/ArrayUnion"; + +export const test_llm_application_3_0_ArrayUnion = _test_llm_application({ + model: "3.0", + name: "ArrayUnion", +})(typia.llm.application()); + +interface ArrayUnionApplication { + insert(first: ArrayUnion): Promise; + reduce(first: ArrayUnion, second: ArrayUnion | null): Promise; + coalesce( + first: ArrayUnion | null, + second: ArrayUnion | null, + third?: ArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicAlias.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicAlias.ts new file mode 100644 index 0000000000..db34be2117 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicAlias } from "../../../structures/AtomicAlias"; + +export const test_llm_application_3_0_AtomicAlias = _test_llm_application({ + model: "3.0", + name: "AtomicAlias", +})(typia.llm.application()); + +interface AtomicAliasApplication { + insert(first: AtomicAlias): Promise; + reduce(first: AtomicAlias, second: AtomicAlias | null): Promise; + coalesce( + first: AtomicAlias | null, + second: AtomicAlias | null, + third?: AtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicClass.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicClass.ts new file mode 100644 index 0000000000..70f4ef0987 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicClass.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicClass } from "../../../structures/AtomicClass"; + +export const test_llm_application_3_0_AtomicClass = _test_llm_application({ + model: "3.0", + name: "AtomicClass", +})(typia.llm.application()); + +interface AtomicClassApplication { + insert(first: AtomicClass): Promise; + reduce(first: AtomicClass, second: AtomicClass | null): Promise; + coalesce( + first: AtomicClass | null, + second: AtomicClass | null, + third?: AtomicClass | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicIntersection.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicIntersection.ts new file mode 100644 index 0000000000..7fbcca96f2 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicIntersection } from "../../../structures/AtomicIntersection"; + +export const test_llm_application_3_0_AtomicIntersection = + _test_llm_application({ + model: "3.0", + name: "AtomicIntersection", + })(typia.llm.application()); + +interface AtomicIntersectionApplication { + insert(first: AtomicIntersection): Promise; + reduce( + first: AtomicIntersection, + second: AtomicIntersection | null, + ): Promise; + coalesce( + first: AtomicIntersection | null, + second: AtomicIntersection | null, + third?: AtomicIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicSimple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicSimple.ts new file mode 100644 index 0000000000..d512dc2adb --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicSimple } from "../../../structures/AtomicSimple"; + +export const test_llm_application_3_0_AtomicSimple = _test_llm_application({ + model: "3.0", + name: "AtomicSimple", +})(typia.llm.application()); + +interface AtomicSimpleApplication { + insert(first: AtomicSimple): Promise; + reduce( + first: AtomicSimple, + second: AtomicSimple | null, + ): Promise; + coalesce( + first: AtomicSimple | null, + second: AtomicSimple | null, + third?: AtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicUnion.ts new file mode 100644 index 0000000000..3eb0020cf3 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_AtomicUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicUnion } from "../../../structures/AtomicUnion"; + +export const test_llm_application_3_0_AtomicUnion = _test_llm_application({ + model: "3.0", + name: "AtomicUnion", +})(typia.llm.application()); + +interface AtomicUnionApplication { + insert(first: AtomicUnion): Promise; + reduce(first: AtomicUnion, second: AtomicUnion | null): Promise; + coalesce( + first: AtomicUnion | null, + second: AtomicUnion | null, + third?: AtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassGetter.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassGetter.ts new file mode 100644 index 0000000000..d5aa514d71 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassGetter.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassGetter } from "../../../structures/ClassGetter"; + +export const test_llm_application_3_0_ClassGetter = _test_llm_application({ + model: "3.0", + name: "ClassGetter", +})(typia.llm.application()); + +interface ClassGetterApplication { + insert(first: ClassGetter): Promise; + reduce(first: ClassGetter, second: ClassGetter | null): Promise; + coalesce( + first: ClassGetter | null, + second: ClassGetter | null, + third?: ClassGetter | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassMethod.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassMethod.ts new file mode 100644 index 0000000000..c47c79944c --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassMethod.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassMethod } from "../../../structures/ClassMethod"; + +export const test_llm_application_3_0_ClassMethod = _test_llm_application({ + model: "3.0", + name: "ClassMethod", +})(typia.llm.application()); + +interface ClassMethodApplication { + insert(first: ClassMethod): Promise; + reduce(first: ClassMethod, second: ClassMethod | null): Promise; + coalesce( + first: ClassMethod | null, + second: ClassMethod | null, + third?: ClassMethod | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassPropertyAssignment.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassPropertyAssignment.ts new file mode 100644 index 0000000000..ea60bc7842 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ClassPropertyAssignment.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassPropertyAssignment } from "../../../structures/ClassPropertyAssignment"; + +export const test_llm_application_3_0_ClassPropertyAssignment = + _test_llm_application({ + model: "3.0", + name: "ClassPropertyAssignment", + })(typia.llm.application()); + +interface ClassPropertyAssignmentApplication { + insert(first: ClassPropertyAssignment): Promise; + reduce( + first: ClassPropertyAssignment, + second: ClassPropertyAssignment | null, + ): Promise; + coalesce( + first: ClassPropertyAssignment | null, + second: ClassPropertyAssignment | null, + third?: ClassPropertyAssignment | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagArray.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagArray.ts new file mode 100644 index 0000000000..97874a1ec6 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagArray } from "../../../structures/CommentTagArray"; + +export const test_llm_application_3_0_CommentTagArray = _test_llm_application({ + model: "3.0", + name: "CommentTagArray", +})(typia.llm.application()); + +interface CommentTagArrayApplication { + insert(first: CommentTagArray): Promise; + reduce( + first: CommentTagArray, + second: CommentTagArray | null, + ): Promise; + coalesce( + first: CommentTagArray | null, + second: CommentTagArray | null, + third?: CommentTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagArrayUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagArrayUnion.ts new file mode 100644 index 0000000000..43ddf11003 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagArrayUnion } from "../../../structures/CommentTagArrayUnion"; + +export const test_llm_application_3_0_CommentTagArrayUnion = + _test_llm_application({ + model: "3.0", + name: "CommentTagArrayUnion", + })(typia.llm.application()); + +interface CommentTagArrayUnionApplication { + insert(first: CommentTagArrayUnion): Promise; + reduce( + first: CommentTagArrayUnion, + second: CommentTagArrayUnion | null, + ): Promise; + coalesce( + first: CommentTagArrayUnion | null, + second: CommentTagArrayUnion | null, + third?: CommentTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagAtomicUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagAtomicUnion.ts new file mode 100644 index 0000000000..b8e9f077b4 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagAtomicUnion } from "../../../structures/CommentTagAtomicUnion"; + +export const test_llm_application_3_0_CommentTagAtomicUnion = + _test_llm_application({ + model: "3.0", + name: "CommentTagAtomicUnion", + })(typia.llm.application()); + +interface CommentTagAtomicUnionApplication { + insert(first: CommentTagAtomicUnion): Promise; + reduce( + first: CommentTagAtomicUnion, + second: CommentTagAtomicUnion | null, + ): Promise; + coalesce( + first: CommentTagAtomicUnion | null, + second: CommentTagAtomicUnion | null, + third?: CommentTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagDefault.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagDefault.ts new file mode 100644 index 0000000000..d1e42cecb8 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagDefault.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagDefault } from "../../../structures/CommentTagDefault"; + +export const test_llm_application_3_0_CommentTagDefault = _test_llm_application( + { + model: "3.0", + name: "CommentTagDefault", + }, +)(typia.llm.application()); + +interface CommentTagDefaultApplication { + insert(first: CommentTagDefault): Promise; + reduce( + first: CommentTagDefault, + second: CommentTagDefault | null, + ): Promise; + coalesce( + first: CommentTagDefault | null, + second: CommentTagDefault | null, + third?: CommentTagDefault | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagFormat.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagFormat.ts new file mode 100644 index 0000000000..6c50658eee --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagFormat.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagFormat } from "../../../structures/CommentTagFormat"; + +export const test_llm_application_3_0_CommentTagFormat = _test_llm_application({ + model: "3.0", + name: "CommentTagFormat", +})(typia.llm.application()); + +interface CommentTagFormatApplication { + insert(first: CommentTagFormat): Promise; + reduce( + first: CommentTagFormat, + second: CommentTagFormat | null, + ): Promise; + coalesce( + first: CommentTagFormat | null, + second: CommentTagFormat | null, + third?: CommentTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagLength.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagLength.ts new file mode 100644 index 0000000000..d115ed073d --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagLength.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagLength } from "../../../structures/CommentTagLength"; + +export const test_llm_application_3_0_CommentTagLength = _test_llm_application({ + model: "3.0", + name: "CommentTagLength", +})(typia.llm.application()); + +interface CommentTagLengthApplication { + insert(first: CommentTagLength): Promise; + reduce( + first: CommentTagLength, + second: CommentTagLength | null, + ): Promise; + coalesce( + first: CommentTagLength | null, + second: CommentTagLength | null, + third?: CommentTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagObjectUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagObjectUnion.ts new file mode 100644 index 0000000000..58916bcb2c --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagObjectUnion } from "../../../structures/CommentTagObjectUnion"; + +export const test_llm_application_3_0_CommentTagObjectUnion = + _test_llm_application({ + model: "3.0", + name: "CommentTagObjectUnion", + })(typia.llm.application()); + +interface CommentTagObjectUnionApplication { + insert(first: CommentTagObjectUnion): Promise; + reduce( + first: CommentTagObjectUnion, + second: CommentTagObjectUnion | null, + ): Promise; + coalesce( + first: CommentTagObjectUnion | null, + second: CommentTagObjectUnion | null, + third?: CommentTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagPattern.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagPattern.ts new file mode 100644 index 0000000000..cbc6f440da --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagPattern.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagPattern } from "../../../structures/CommentTagPattern"; + +export const test_llm_application_3_0_CommentTagPattern = _test_llm_application( + { + model: "3.0", + name: "CommentTagPattern", + }, +)(typia.llm.application()); + +interface CommentTagPatternApplication { + insert(first: CommentTagPattern): Promise; + reduce( + first: CommentTagPattern, + second: CommentTagPattern | null, + ): Promise; + coalesce( + first: CommentTagPattern | null, + second: CommentTagPattern | null, + third?: CommentTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagRange.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagRange.ts new file mode 100644 index 0000000000..c99fc994ae --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagRange } from "../../../structures/CommentTagRange"; + +export const test_llm_application_3_0_CommentTagRange = _test_llm_application({ + model: "3.0", + name: "CommentTagRange", +})(typia.llm.application()); + +interface CommentTagRangeApplication { + insert(first: CommentTagRange): Promise; + reduce( + first: CommentTagRange, + second: CommentTagRange | null, + ): Promise; + coalesce( + first: CommentTagRange | null, + second: CommentTagRange | null, + third?: CommentTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagType.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagType.ts new file mode 100644 index 0000000000..fbd8d4e7ba --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_CommentTagType.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagType } from "../../../structures/CommentTagType"; + +export const test_llm_application_3_0_CommentTagType = _test_llm_application({ + model: "3.0", + name: "CommentTagType", +})(typia.llm.application()); + +interface CommentTagTypeApplication { + insert(first: CommentTagType): Promise; + reduce( + first: CommentTagType, + second: CommentTagType | null, + ): Promise; + coalesce( + first: CommentTagType | null, + second: CommentTagType | null, + third?: CommentTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicAbsorbed.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicAbsorbed.ts new file mode 100644 index 0000000000..a4516a1615 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicAbsorbed.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicAbsorbed } from "../../../structures/ConstantAtomicAbsorbed"; + +export const test_llm_application_3_0_ConstantAtomicAbsorbed = + _test_llm_application({ + model: "3.0", + name: "ConstantAtomicAbsorbed", + })(typia.llm.application()); + +interface ConstantAtomicAbsorbedApplication { + insert(first: ConstantAtomicAbsorbed): Promise; + reduce( + first: ConstantAtomicAbsorbed, + second: ConstantAtomicAbsorbed | null, + ): Promise; + coalesce( + first: ConstantAtomicAbsorbed | null, + second: ConstantAtomicAbsorbed | null, + third?: ConstantAtomicAbsorbed | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicSimple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicSimple.ts new file mode 100644 index 0000000000..73609f03b6 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicSimple } from "../../../structures/ConstantAtomicSimple"; + +export const test_llm_application_3_0_ConstantAtomicSimple = + _test_llm_application({ + model: "3.0", + name: "ConstantAtomicSimple", + })(typia.llm.application()); + +interface ConstantAtomicSimpleApplication { + insert(first: ConstantAtomicSimple): Promise; + reduce( + first: ConstantAtomicSimple, + second: ConstantAtomicSimple | null, + ): Promise; + coalesce( + first: ConstantAtomicSimple | null, + second: ConstantAtomicSimple | null, + third?: ConstantAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicTagged.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicTagged.ts new file mode 100644 index 0000000000..63414261e9 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicTagged.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicTagged } from "../../../structures/ConstantAtomicTagged"; + +export const test_llm_application_3_0_ConstantAtomicTagged = + _test_llm_application({ + model: "3.0", + name: "ConstantAtomicTagged", + })(typia.llm.application()); + +interface ConstantAtomicTaggedApplication { + insert(first: ConstantAtomicTagged): Promise; + reduce( + first: ConstantAtomicTagged, + second: ConstantAtomicTagged | null, + ): Promise; + coalesce( + first: ConstantAtomicTagged | null, + second: ConstantAtomicTagged | null, + third?: ConstantAtomicTagged | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicUnion.ts new file mode 100644 index 0000000000..e67eaba408 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicUnion } from "../../../structures/ConstantAtomicUnion"; + +export const test_llm_application_3_0_ConstantAtomicUnion = + _test_llm_application({ + model: "3.0", + name: "ConstantAtomicUnion", + })(typia.llm.application()); + +interface ConstantAtomicUnionApplication { + insert(first: ConstantAtomicUnion): Promise; + reduce( + first: ConstantAtomicUnion, + second: ConstantAtomicUnion | null, + ): Promise; + coalesce( + first: ConstantAtomicUnion | null, + second: ConstantAtomicUnion | null, + third?: ConstantAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicWrapper.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicWrapper.ts new file mode 100644 index 0000000000..8c5dcce140 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantAtomicWrapper.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicWrapper } from "../../../structures/ConstantAtomicWrapper"; + +export const test_llm_application_3_0_ConstantAtomicWrapper = + _test_llm_application({ + model: "3.0", + name: "ConstantAtomicWrapper", + })(typia.llm.application()); + +interface ConstantAtomicWrapperApplication { + insert(first: ConstantAtomicWrapper): Promise; + reduce( + first: ConstantAtomicWrapper, + second: ConstantAtomicWrapper | null, + ): Promise; + coalesce( + first: ConstantAtomicWrapper | null, + second: ConstantAtomicWrapper | null, + third?: ConstantAtomicWrapper | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantConstEnumeration.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantConstEnumeration.ts new file mode 100644 index 0000000000..cf94a8161d --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantConstEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantConstEnumeration } from "../../../structures/ConstantConstEnumeration"; + +export const test_llm_application_3_0_ConstantConstEnumeration = + _test_llm_application({ + model: "3.0", + name: "ConstantConstEnumeration", + })(typia.llm.application()); + +interface ConstantConstEnumerationApplication { + insert(first: ConstantConstEnumeration): Promise; + reduce( + first: ConstantConstEnumeration, + second: ConstantConstEnumeration | null, + ): Promise; + coalesce( + first: ConstantConstEnumeration | null, + second: ConstantConstEnumeration | null, + third?: ConstantConstEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantEnumeration.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantEnumeration.ts new file mode 100644 index 0000000000..0c0b50b3f6 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantEnumeration } from "../../../structures/ConstantEnumeration"; + +export const test_llm_application_3_0_ConstantEnumeration = + _test_llm_application({ + model: "3.0", + name: "ConstantEnumeration", + })(typia.llm.application()); + +interface ConstantEnumerationApplication { + insert(first: ConstantEnumeration): Promise; + reduce( + first: ConstantEnumeration, + second: ConstantEnumeration | null, + ): Promise; + coalesce( + first: ConstantEnumeration | null, + second: ConstantEnumeration | null, + third?: ConstantEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantIntersection.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantIntersection.ts new file mode 100644 index 0000000000..aa5774b535 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ConstantIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantIntersection } from "../../../structures/ConstantIntersection"; + +export const test_llm_application_3_0_ConstantIntersection = + _test_llm_application({ + model: "3.0", + name: "ConstantIntersection", + })(typia.llm.application()); + +interface ConstantIntersectionApplication { + insert(first: ConstantIntersection): Promise; + reduce( + first: ConstantIntersection, + second: ConstantIntersection | null, + ): Promise; + coalesce( + first: ConstantIntersection | null, + second: ConstantIntersection | null, + third?: ConstantIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicArray.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicArray.ts new file mode 100644 index 0000000000..6707c235a7 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicArray } from "../../../structures/DynamicArray"; + +export const test_llm_application_3_0_DynamicArray = _test_llm_application({ + model: "3.0", + name: "DynamicArray", +})(typia.llm.application()); + +interface DynamicArrayApplication { + insert(first: DynamicArray): Promise; + reduce( + first: DynamicArray, + second: DynamicArray | null, + ): Promise; + coalesce( + first: DynamicArray | null, + second: DynamicArray | null, + third?: DynamicArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicComposite.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicComposite.ts new file mode 100644 index 0000000000..022b54285d --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicComposite.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicComposite } from "../../../structures/DynamicComposite"; + +export const test_llm_application_3_0_DynamicComposite = _test_llm_application({ + model: "3.0", + name: "DynamicComposite", +})(typia.llm.application()); + +interface DynamicCompositeApplication { + insert(first: DynamicComposite): Promise; + reduce( + first: DynamicComposite, + second: DynamicComposite | null, + ): Promise; + coalesce( + first: DynamicComposite | null, + second: DynamicComposite | null, + third?: DynamicComposite | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicConstant.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicConstant.ts new file mode 100644 index 0000000000..dfb1f448d9 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicConstant.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicConstant } from "../../../structures/DynamicConstant"; + +export const test_llm_application_3_0_DynamicConstant = _test_llm_application({ + model: "3.0", + name: "DynamicConstant", +})(typia.llm.application()); + +interface DynamicConstantApplication { + insert(first: DynamicConstant): Promise; + reduce( + first: DynamicConstant, + second: DynamicConstant | null, + ): Promise; + coalesce( + first: DynamicConstant | null, + second: DynamicConstant | null, + third?: DynamicConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicEnumeration.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicEnumeration.ts new file mode 100644 index 0000000000..e35c3284ee --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicEnumeration } from "../../../structures/DynamicEnumeration"; + +export const test_llm_application_3_0_DynamicEnumeration = + _test_llm_application({ + model: "3.0", + name: "DynamicEnumeration", + })(typia.llm.application()); + +interface DynamicEnumerationApplication { + insert(first: DynamicEnumeration): Promise; + reduce( + first: DynamicEnumeration, + second: DynamicEnumeration | null, + ): Promise; + coalesce( + first: DynamicEnumeration | null, + second: DynamicEnumeration | null, + third?: DynamicEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicNever.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicNever.ts new file mode 100644 index 0000000000..a89440c4ef --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicNever.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicNever } from "../../../structures/DynamicNever"; + +export const test_llm_application_3_0_DynamicNever = _test_llm_application({ + model: "3.0", + name: "DynamicNever", +})(typia.llm.application()); + +interface DynamicNeverApplication { + insert(first: DynamicNever): Promise; + reduce( + first: DynamicNever, + second: DynamicNever | null, + ): Promise; + coalesce( + first: DynamicNever | null, + second: DynamicNever | null, + third?: DynamicNever | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicSimple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicSimple.ts new file mode 100644 index 0000000000..17646fbe11 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicSimple } from "../../../structures/DynamicSimple"; + +export const test_llm_application_3_0_DynamicSimple = _test_llm_application({ + model: "3.0", + name: "DynamicSimple", +})(typia.llm.application()); + +interface DynamicSimpleApplication { + insert(first: DynamicSimple): Promise; + reduce( + first: DynamicSimple, + second: DynamicSimple | null, + ): Promise; + coalesce( + first: DynamicSimple | null, + second: DynamicSimple | null, + third?: DynamicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicTemplate.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicTemplate.ts new file mode 100644 index 0000000000..beeaaea378 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicTemplate.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicTemplate } from "../../../structures/DynamicTemplate"; + +export const test_llm_application_3_0_DynamicTemplate = _test_llm_application({ + model: "3.0", + name: "DynamicTemplate", +})(typia.llm.application()); + +interface DynamicTemplateApplication { + insert(first: DynamicTemplate): Promise; + reduce( + first: DynamicTemplate, + second: DynamicTemplate | null, + ): Promise; + coalesce( + first: DynamicTemplate | null, + second: DynamicTemplate | null, + third?: DynamicTemplate | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicTree.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicTree.ts new file mode 100644 index 0000000000..84695b3e07 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicTree.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_llm_application_3_0_DynamicTree = _test_llm_application({ + model: "3.0", + name: "DynamicTree", +})(typia.llm.application()); + +interface DynamicTreeApplication { + insert(first: DynamicTree): Promise; + reduce(first: DynamicTree, second: DynamicTree | null): Promise; + coalesce( + first: DynamicTree | null, + second: DynamicTree | null, + third?: DynamicTree | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicUndefined.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicUndefined.ts new file mode 100644 index 0000000000..f043867d99 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicUndefined.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicUndefined } from "../../../structures/DynamicUndefined"; + +export const test_llm_application_3_0_DynamicUndefined = _test_llm_application({ + model: "3.0", + name: "DynamicUndefined", +})(typia.llm.application()); + +interface DynamicUndefinedApplication { + insert(first: DynamicUndefined): Promise; + reduce( + first: DynamicUndefined, + second: DynamicUndefined | null, + ): Promise; + coalesce( + first: DynamicUndefined | null, + second: DynamicUndefined | null, + third?: DynamicUndefined | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicUnion.ts new file mode 100644 index 0000000000..f542a8d9dd --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_DynamicUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicUnion } from "../../../structures/DynamicUnion"; + +export const test_llm_application_3_0_DynamicUnion = _test_llm_application({ + model: "3.0", + name: "DynamicUnion", +})(typia.llm.application()); + +interface DynamicUnionApplication { + insert(first: DynamicUnion): Promise; + reduce( + first: DynamicUnion, + second: DynamicUnion | null, + ): Promise; + coalesce( + first: DynamicUnion | null, + second: DynamicUnion | null, + third?: DynamicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectAlias.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectAlias.ts new file mode 100644 index 0000000000..7022dbe003 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectAlias } from "../../../structures/ObjectAlias"; + +export const test_llm_application_3_0_ObjectAlias = _test_llm_application({ + model: "3.0", + name: "ObjectAlias", +})(typia.llm.application()); + +interface ObjectAliasApplication { + insert(first: ObjectAlias): Promise; + reduce(first: ObjectAlias, second: ObjectAlias | null): Promise; + coalesce( + first: ObjectAlias | null, + second: ObjectAlias | null, + third?: ObjectAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDate.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDate.ts new file mode 100644 index 0000000000..fa513304e5 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDate.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDate } from "../../../structures/ObjectDate"; + +export const test_llm_application_3_0_ObjectDate = _test_llm_application({ + model: "3.0", + name: "ObjectDate", +})(typia.llm.application()); + +interface ObjectDateApplication { + insert(first: ObjectDate): Promise; + reduce(first: ObjectDate, second: ObjectDate | null): Promise; + coalesce( + first: ObjectDate | null, + second: ObjectDate | null, + third?: ObjectDate | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDescription.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDescription.ts new file mode 100644 index 0000000000..c12c130520 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDescription.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDescription } from "../../../structures/ObjectDescription"; + +export const test_llm_application_3_0_ObjectDescription = _test_llm_application( + { + model: "3.0", + name: "ObjectDescription", + }, +)(typia.llm.application()); + +interface ObjectDescriptionApplication { + insert(first: ObjectDescription): Promise; + reduce( + first: ObjectDescription, + second: ObjectDescription | null, + ): Promise; + coalesce( + first: ObjectDescription | null, + second: ObjectDescription | null, + third?: ObjectDescription | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDynamic.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDynamic.ts new file mode 100644 index 0000000000..f392dd222c --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectDynamic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDynamic } from "../../../structures/ObjectDynamic"; + +export const test_llm_application_3_0_ObjectDynamic = _test_llm_application({ + model: "3.0", + name: "ObjectDynamic", +})(typia.llm.application()); + +interface ObjectDynamicApplication { + insert(first: ObjectDynamic): Promise; + reduce( + first: ObjectDynamic, + second: ObjectDynamic | null, + ): Promise; + coalesce( + first: ObjectDynamic | null, + second: ObjectDynamic | null, + third?: ObjectDynamic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGeneric.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGeneric.ts new file mode 100644 index 0000000000..1ff6511375 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGeneric.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGeneric } from "../../../structures/ObjectGeneric"; + +export const test_llm_application_3_0_ObjectGeneric = _test_llm_application({ + model: "3.0", + name: "ObjectGeneric", +})(typia.llm.application()); + +interface ObjectGenericApplication { + insert(first: ObjectGeneric): Promise; + reduce( + first: ObjectGeneric, + second: ObjectGeneric | null, + ): Promise; + coalesce( + first: ObjectGeneric | null, + second: ObjectGeneric | null, + third?: ObjectGeneric | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericAlias.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericAlias.ts new file mode 100644 index 0000000000..14232b13d3 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericAlias } from "../../../structures/ObjectGenericAlias"; + +export const test_llm_application_3_0_ObjectGenericAlias = + _test_llm_application({ + model: "3.0", + name: "ObjectGenericAlias", + })(typia.llm.application()); + +interface ObjectGenericAliasApplication { + insert(first: ObjectGenericAlias): Promise; + reduce( + first: ObjectGenericAlias, + second: ObjectGenericAlias | null, + ): Promise; + coalesce( + first: ObjectGenericAlias | null, + second: ObjectGenericAlias | null, + third?: ObjectGenericAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericArray.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericArray.ts new file mode 100644 index 0000000000..25b1c6b70b --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericArray } from "../../../structures/ObjectGenericArray"; + +export const test_llm_application_3_0_ObjectGenericArray = + _test_llm_application({ + model: "3.0", + name: "ObjectGenericArray", + })(typia.llm.application()); + +interface ObjectGenericArrayApplication { + insert(first: ObjectGenericArray): Promise; + reduce( + first: ObjectGenericArray, + second: ObjectGenericArray | null, + ): Promise; + coalesce( + first: ObjectGenericArray | null, + second: ObjectGenericArray | null, + third?: ObjectGenericArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericUnion.ts new file mode 100644 index 0000000000..bcc689864e --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectGenericUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericUnion } from "../../../structures/ObjectGenericUnion"; + +export const test_llm_application_3_0_ObjectGenericUnion = + _test_llm_application({ + model: "3.0", + name: "ObjectGenericUnion", + })(typia.llm.application()); + +interface ObjectGenericUnionApplication { + insert(first: ObjectGenericUnion): Promise; + reduce( + first: ObjectGenericUnion, + second: ObjectGenericUnion | null, + ): Promise; + coalesce( + first: ObjectGenericUnion | null, + second: ObjectGenericUnion | null, + third?: ObjectGenericUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectHierarchical.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectHierarchical.ts new file mode 100644 index 0000000000..fb4925eeef --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectHierarchical } from "../../../structures/ObjectHierarchical"; + +export const test_llm_application_3_0_ObjectHierarchical = + _test_llm_application({ + model: "3.0", + name: "ObjectHierarchical", + })(typia.llm.application()); + +interface ObjectHierarchicalApplication { + insert(first: ObjectHierarchical): Promise; + reduce( + first: ObjectHierarchical, + second: ObjectHierarchical | null, + ): Promise; + coalesce( + first: ObjectHierarchical | null, + second: ObjectHierarchical | null, + third?: ObjectHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectInternal.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectInternal.ts new file mode 100644 index 0000000000..4df4545b22 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectInternal.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectInternal } from "../../../structures/ObjectInternal"; + +export const test_llm_application_3_0_ObjectInternal = _test_llm_application({ + model: "3.0", + name: "ObjectInternal", +})(typia.llm.application()); + +interface ObjectInternalApplication { + insert(first: ObjectInternal): Promise; + reduce( + first: ObjectInternal, + second: ObjectInternal | null, + ): Promise; + coalesce( + first: ObjectInternal | null, + second: ObjectInternal | null, + third?: ObjectInternal | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectIntersection.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectIntersection.ts new file mode 100644 index 0000000000..2da2b26f46 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectIntersection } from "../../../structures/ObjectIntersection"; + +export const test_llm_application_3_0_ObjectIntersection = + _test_llm_application({ + model: "3.0", + name: "ObjectIntersection", + })(typia.llm.application()); + +interface ObjectIntersectionApplication { + insert(first: ObjectIntersection): Promise; + reduce( + first: ObjectIntersection, + second: ObjectIntersection | null, + ): Promise; + coalesce( + first: ObjectIntersection | null, + second: ObjectIntersection | null, + third?: ObjectIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectJsonTag.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectJsonTag.ts new file mode 100644 index 0000000000..6570ca38df --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectJsonTag.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectJsonTag } from "../../../structures/ObjectJsonTag"; + +export const test_llm_application_3_0_ObjectJsonTag = _test_llm_application({ + model: "3.0", + name: "ObjectJsonTag", +})(typia.llm.application()); + +interface ObjectJsonTagApplication { + insert(first: ObjectJsonTag): Promise; + reduce( + first: ObjectJsonTag, + second: ObjectJsonTag | null, + ): Promise; + coalesce( + first: ObjectJsonTag | null, + second: ObjectJsonTag | null, + third?: ObjectJsonTag | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectLiteralProperty.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectLiteralProperty.ts new file mode 100644 index 0000000000..024d5ff226 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectLiteralProperty.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralProperty } from "../../../structures/ObjectLiteralProperty"; + +export const test_llm_application_3_0_ObjectLiteralProperty = + _test_llm_application({ + model: "3.0", + name: "ObjectLiteralProperty", + })(typia.llm.application()); + +interface ObjectLiteralPropertyApplication { + insert(first: ObjectLiteralProperty): Promise; + reduce( + first: ObjectLiteralProperty, + second: ObjectLiteralProperty | null, + ): Promise; + coalesce( + first: ObjectLiteralProperty | null, + second: ObjectLiteralProperty | null, + third?: ObjectLiteralProperty | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectLiteralType.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectLiteralType.ts new file mode 100644 index 0000000000..df471e6b97 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectLiteralType.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralType } from "../../../structures/ObjectLiteralType"; + +export const test_llm_application_3_0_ObjectLiteralType = _test_llm_application( + { + model: "3.0", + name: "ObjectLiteralType", + }, +)(typia.llm.application()); + +interface ObjectLiteralTypeApplication { + insert(first: ObjectLiteralType): Promise; + reduce( + first: ObjectLiteralType, + second: ObjectLiteralType | null, + ): Promise; + coalesce( + first: ObjectLiteralType | null, + second: ObjectLiteralType | null, + third?: ObjectLiteralType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectNullable.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectNullable.ts new file mode 100644 index 0000000000..d8c70783d1 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectNullable.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectNullable } from "../../../structures/ObjectNullable"; + +export const test_llm_application_3_0_ObjectNullable = _test_llm_application({ + model: "3.0", + name: "ObjectNullable", +})(typia.llm.application()); + +interface ObjectNullableApplication { + insert(first: ObjectNullable): Promise; + reduce( + first: ObjectNullable, + second: ObjectNullable | null, + ): Promise; + coalesce( + first: ObjectNullable | null, + second: ObjectNullable | null, + third?: ObjectNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectOptional.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectOptional.ts new file mode 100644 index 0000000000..24d432efb9 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectOptional.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectOptional } from "../../../structures/ObjectOptional"; + +export const test_llm_application_3_0_ObjectOptional = _test_llm_application({ + model: "3.0", + name: "ObjectOptional", +})(typia.llm.application()); + +interface ObjectOptionalApplication { + insert(first: ObjectOptional): Promise; + reduce( + first: ObjectOptional, + second: ObjectOptional | null, + ): Promise; + coalesce( + first: ObjectOptional | null, + second: ObjectOptional | null, + third?: ObjectOptional | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPartial.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPartial.ts new file mode 100644 index 0000000000..81a2eab2a7 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPartial.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_llm_application_3_0_ObjectPartial = _test_llm_application({ + model: "3.0", + name: "ObjectPartial", +})(typia.llm.application()); + +interface ObjectPartialApplication { + insert(first: ObjectPartial): Promise; + reduce( + first: ObjectPartial, + second: ObjectPartial | null, + ): Promise; + coalesce( + first: ObjectPartial | null, + second: ObjectPartial | null, + third?: ObjectPartial | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPartialAndRequired.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..21f769168b --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPartialAndRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_llm_application_3_0_ObjectPartialAndRequired = + _test_llm_application({ + model: "3.0", + name: "ObjectPartialAndRequired", + })(typia.llm.application()); + +interface ObjectPartialAndRequiredApplication { + insert(first: ObjectPartialAndRequired): Promise; + reduce( + first: ObjectPartialAndRequired, + second: ObjectPartialAndRequired | null, + ): Promise; + coalesce( + first: ObjectPartialAndRequired | null, + second: ObjectPartialAndRequired | null, + third?: ObjectPartialAndRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPrimitive.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPrimitive.ts new file mode 100644 index 0000000000..4506d9099d --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPrimitive.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPrimitive } from "../../../structures/ObjectPrimitive"; + +export const test_llm_application_3_0_ObjectPrimitive = _test_llm_application({ + model: "3.0", + name: "ObjectPrimitive", +})(typia.llm.application()); + +interface ObjectPrimitiveApplication { + insert(first: ObjectPrimitive): Promise; + reduce( + first: ObjectPrimitive, + second: ObjectPrimitive | null, + ): Promise; + coalesce( + first: ObjectPrimitive | null, + second: ObjectPrimitive | null, + third?: ObjectPrimitive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPropertyNullable.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPropertyNullable.ts new file mode 100644 index 0000000000..ee5ab8a126 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectPropertyNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPropertyNullable } from "../../../structures/ObjectPropertyNullable"; + +export const test_llm_application_3_0_ObjectPropertyNullable = + _test_llm_application({ + model: "3.0", + name: "ObjectPropertyNullable", + })(typia.llm.application()); + +interface ObjectPropertyNullableApplication { + insert(first: ObjectPropertyNullable): Promise; + reduce( + first: ObjectPropertyNullable, + second: ObjectPropertyNullable | null, + ): Promise; + coalesce( + first: ObjectPropertyNullable | null, + second: ObjectPropertyNullable | null, + third?: ObjectPropertyNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectRecursive.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectRecursive.ts new file mode 100644 index 0000000000..47281139f2 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectRecursive.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_llm_application_3_0_ObjectRecursive = _test_llm_application({ + model: "3.0", + name: "ObjectRecursive", +})(typia.llm.application()); + +interface ObjectRecursiveApplication { + insert(first: ObjectRecursive): Promise; + reduce( + first: ObjectRecursive, + second: ObjectRecursive | null, + ): Promise; + coalesce( + first: ObjectRecursive | null, + second: ObjectRecursive | null, + third?: ObjectRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectRequired.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectRequired.ts new file mode 100644 index 0000000000..4f63bb8a71 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectRequired.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_llm_application_3_0_ObjectRequired = _test_llm_application({ + model: "3.0", + name: "ObjectRequired", +})(typia.llm.application()); + +interface ObjectRequiredApplication { + insert(first: ObjectRequired): Promise; + reduce( + first: ObjectRequired, + second: ObjectRequired | null, + ): Promise; + coalesce( + first: ObjectRequired | null, + second: ObjectRequired | null, + third?: ObjectRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectSimple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectSimple.ts new file mode 100644 index 0000000000..e4462af6bb --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectSimple } from "../../../structures/ObjectSimple"; + +export const test_llm_application_3_0_ObjectSimple = _test_llm_application({ + model: "3.0", + name: "ObjectSimple", +})(typia.llm.application()); + +interface ObjectSimpleApplication { + insert(first: ObjectSimple): Promise; + reduce( + first: ObjectSimple, + second: ObjectSimple | null, + ): Promise; + coalesce( + first: ObjectSimple | null, + second: ObjectSimple | null, + third?: ObjectSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectTuple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectTuple.ts new file mode 100644 index 0000000000..4320e40c8f --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectTuple } from "../../../structures/ObjectTuple"; + +export const test_llm_application_3_0_ObjectTuple = _test_llm_application({ + model: "3.0", + name: "ObjectTuple", +})(typia.llm.application()); + +interface ObjectTupleApplication { + insert(first: ObjectTuple): Promise; + reduce(first: ObjectTuple, second: ObjectTuple | null): Promise; + coalesce( + first: ObjectTuple | null, + second: ObjectTuple | null, + third?: ObjectTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUndefined.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUndefined.ts new file mode 100644 index 0000000000..1f66b56b48 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUndefined.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUndefined } from "../../../structures/ObjectUndefined"; + +export const test_llm_application_3_0_ObjectUndefined = _test_llm_application({ + model: "3.0", + name: "ObjectUndefined", +})(typia.llm.application()); + +interface ObjectUndefinedApplication { + insert(first: ObjectUndefined): Promise; + reduce( + first: ObjectUndefined, + second: ObjectUndefined | null, + ): Promise; + coalesce( + first: ObjectUndefined | null, + second: ObjectUndefined | null, + third?: ObjectUndefined | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionComposite.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionComposite.ts new file mode 100644 index 0000000000..22fde3be30 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionComposite } from "../../../structures/ObjectUnionComposite"; + +export const test_llm_application_3_0_ObjectUnionComposite = + _test_llm_application({ + model: "3.0", + name: "ObjectUnionComposite", + })(typia.llm.application()); + +interface ObjectUnionCompositeApplication { + insert(first: ObjectUnionComposite): Promise; + reduce( + first: ObjectUnionComposite, + second: ObjectUnionComposite | null, + ): Promise; + coalesce( + first: ObjectUnionComposite | null, + second: ObjectUnionComposite | null, + third?: ObjectUnionComposite | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionCompositePointer.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionCompositePointer.ts new file mode 100644 index 0000000000..b9ba250915 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionCompositePointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionCompositePointer } from "../../../structures/ObjectUnionCompositePointer"; + +export const test_llm_application_3_0_ObjectUnionCompositePointer = + _test_llm_application({ + model: "3.0", + name: "ObjectUnionCompositePointer", + })(typia.llm.application()); + +interface ObjectUnionCompositePointerApplication { + insert(first: ObjectUnionCompositePointer): Promise; + reduce( + first: ObjectUnionCompositePointer, + second: ObjectUnionCompositePointer | null, + ): Promise; + coalesce( + first: ObjectUnionCompositePointer | null, + second: ObjectUnionCompositePointer | null, + third?: ObjectUnionCompositePointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionDouble.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionDouble.ts new file mode 100644 index 0000000000..5c232ff0e7 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionDouble.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionDouble } from "../../../structures/ObjectUnionDouble"; + +export const test_llm_application_3_0_ObjectUnionDouble = _test_llm_application( + { + model: "3.0", + name: "ObjectUnionDouble", + }, +)(typia.llm.application()); + +interface ObjectUnionDoubleApplication { + insert(first: ObjectUnionDouble): Promise; + reduce( + first: ObjectUnionDouble, + second: ObjectUnionDouble | null, + ): Promise; + coalesce( + first: ObjectUnionDouble | null, + second: ObjectUnionDouble | null, + third?: ObjectUnionDouble | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionExplicit.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionExplicit.ts new file mode 100644 index 0000000000..e8b10c9be5 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionExplicit } from "../../../structures/ObjectUnionExplicit"; + +export const test_llm_application_3_0_ObjectUnionExplicit = + _test_llm_application({ + model: "3.0", + name: "ObjectUnionExplicit", + })(typia.llm.application()); + +interface ObjectUnionExplicitApplication { + insert(first: ObjectUnionExplicit): Promise; + reduce( + first: ObjectUnionExplicit, + second: ObjectUnionExplicit | null, + ): Promise; + coalesce( + first: ObjectUnionExplicit | null, + second: ObjectUnionExplicit | null, + third?: ObjectUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionExplicitPointer.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionExplicitPointer.ts new file mode 100644 index 0000000000..4a306aba74 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionExplicitPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionExplicitPointer } from "../../../structures/ObjectUnionExplicitPointer"; + +export const test_llm_application_3_0_ObjectUnionExplicitPointer = + _test_llm_application({ + model: "3.0", + name: "ObjectUnionExplicitPointer", + })(typia.llm.application()); + +interface ObjectUnionExplicitPointerApplication { + insert(first: ObjectUnionExplicitPointer): Promise; + reduce( + first: ObjectUnionExplicitPointer, + second: ObjectUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ObjectUnionExplicitPointer | null, + second: ObjectUnionExplicitPointer | null, + third?: ObjectUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionImplicit.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionImplicit.ts new file mode 100644 index 0000000000..21ec2904b7 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionImplicit } from "../../../structures/ObjectUnionImplicit"; + +export const test_llm_application_3_0_ObjectUnionImplicit = + _test_llm_application({ + model: "3.0", + name: "ObjectUnionImplicit", + })(typia.llm.application()); + +interface ObjectUnionImplicitApplication { + insert(first: ObjectUnionImplicit): Promise; + reduce( + first: ObjectUnionImplicit, + second: ObjectUnionImplicit | null, + ): Promise; + coalesce( + first: ObjectUnionImplicit | null, + second: ObjectUnionImplicit | null, + third?: ObjectUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionNonPredictable.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionNonPredictable.ts new file mode 100644 index 0000000000..99f8ad75c2 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ObjectUnionNonPredictable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionNonPredictable } from "../../../structures/ObjectUnionNonPredictable"; + +export const test_llm_application_3_0_ObjectUnionNonPredictable = + _test_llm_application({ + model: "3.0", + name: "ObjectUnionNonPredictable", + })(typia.llm.application()); + +interface ObjectUnionNonPredictableApplication { + insert(first: ObjectUnionNonPredictable): Promise; + reduce( + first: ObjectUnionNonPredictable, + second: ObjectUnionNonPredictable | null, + ): Promise; + coalesce( + first: ObjectUnionNonPredictable | null, + second: ObjectUnionNonPredictable | null, + third?: ObjectUnionNonPredictable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateAtomic.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateAtomic.ts new file mode 100644 index 0000000000..30604fcd00 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateAtomic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateAtomic } from "../../../structures/TemplateAtomic"; + +export const test_llm_application_3_0_TemplateAtomic = _test_llm_application({ + model: "3.0", + name: "TemplateAtomic", +})(typia.llm.application()); + +interface TemplateAtomicApplication { + insert(first: TemplateAtomic): Promise; + reduce( + first: TemplateAtomic, + second: TemplateAtomic | null, + ): Promise; + coalesce( + first: TemplateAtomic | null, + second: TemplateAtomic | null, + third?: TemplateAtomic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateConstant.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateConstant.ts new file mode 100644 index 0000000000..cd6922e1f4 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateConstant.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateConstant } from "../../../structures/TemplateConstant"; + +export const test_llm_application_3_0_TemplateConstant = _test_llm_application({ + model: "3.0", + name: "TemplateConstant", +})(typia.llm.application()); + +interface TemplateConstantApplication { + insert(first: TemplateConstant): Promise; + reduce( + first: TemplateConstant, + second: TemplateConstant | null, + ): Promise; + coalesce( + first: TemplateConstant | null, + second: TemplateConstant | null, + third?: TemplateConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateUnion.ts new file mode 100644 index 0000000000..6ae57e6ebb --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TemplateUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateUnion } from "../../../structures/TemplateUnion"; + +export const test_llm_application_3_0_TemplateUnion = _test_llm_application({ + model: "3.0", + name: "TemplateUnion", +})(typia.llm.application()); + +interface TemplateUnionApplication { + insert(first: TemplateUnion): Promise; + reduce( + first: TemplateUnion, + second: TemplateUnion | null, + ): Promise; + coalesce( + first: TemplateUnion | null, + second: TemplateUnion | null, + third?: TemplateUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonArray.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonArray.ts new file mode 100644 index 0000000000..fc79e0f073 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonArray.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonArray } from "../../../structures/ToJsonArray"; + +export const test_llm_application_3_0_ToJsonArray = _test_llm_application({ + model: "3.0", + name: "ToJsonArray", +})(typia.llm.application()); + +interface ToJsonArrayApplication { + insert(first: ToJsonArray): Promise; + reduce(first: ToJsonArray, second: ToJsonArray | null): Promise; + coalesce( + first: ToJsonArray | null, + second: ToJsonArray | null, + third?: ToJsonArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonAtomicSimple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonAtomicSimple.ts new file mode 100644 index 0000000000..d0c9158d05 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonAtomicSimple } from "../../../structures/ToJsonAtomicSimple"; + +export const test_llm_application_3_0_ToJsonAtomicSimple = + _test_llm_application({ + model: "3.0", + name: "ToJsonAtomicSimple", + })(typia.llm.application()); + +interface ToJsonAtomicSimpleApplication { + insert(first: ToJsonAtomicSimple): Promise; + reduce( + first: ToJsonAtomicSimple, + second: ToJsonAtomicSimple | null, + ): Promise; + coalesce( + first: ToJsonAtomicSimple | null, + second: ToJsonAtomicSimple | null, + third?: ToJsonAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonAtomicUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonAtomicUnion.ts new file mode 100644 index 0000000000..41a6c82cfc --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonAtomicUnion.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonAtomicUnion } from "../../../structures/ToJsonAtomicUnion"; + +export const test_llm_application_3_0_ToJsonAtomicUnion = _test_llm_application( + { + model: "3.0", + name: "ToJsonAtomicUnion", + }, +)(typia.llm.application()); + +interface ToJsonAtomicUnionApplication { + insert(first: ToJsonAtomicUnion): Promise; + reduce( + first: ToJsonAtomicUnion, + second: ToJsonAtomicUnion | null, + ): Promise; + coalesce( + first: ToJsonAtomicUnion | null, + second: ToJsonAtomicUnion | null, + third?: ToJsonAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonDouble.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonDouble.ts new file mode 100644 index 0000000000..bc4c7b3084 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonDouble.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonDouble } from "../../../structures/ToJsonDouble"; + +export const test_llm_application_3_0_ToJsonDouble = _test_llm_application({ + model: "3.0", + name: "ToJsonDouble", +})(typia.llm.application()); + +interface ToJsonDoubleApplication { + insert(first: ToJsonDouble): Promise; + reduce( + first: ToJsonDouble, + second: ToJsonDouble | null, + ): Promise; + coalesce( + first: ToJsonDouble | null, + second: ToJsonDouble | null, + third?: ToJsonDouble | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonNull.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonNull.ts new file mode 100644 index 0000000000..5d0309c79b --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonNull.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonNull } from "../../../structures/ToJsonNull"; + +export const test_llm_application_3_0_ToJsonNull = _test_llm_application({ + model: "3.0", + name: "ToJsonNull", +})(typia.llm.application()); + +interface ToJsonNullApplication { + insert(first: ToJsonNull): Promise; + reduce(first: ToJsonNull, second: ToJsonNull | null): Promise; + coalesce( + first: ToJsonNull | null, + second: ToJsonNull | null, + third?: ToJsonNull | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonTuple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonTuple.ts new file mode 100644 index 0000000000..d38c5e3d1d --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonTuple } from "../../../structures/ToJsonTuple"; + +export const test_llm_application_3_0_ToJsonTuple = _test_llm_application({ + model: "3.0", + name: "ToJsonTuple", +})(typia.llm.application()); + +interface ToJsonTupleApplication { + insert(first: ToJsonTuple): Promise; + reduce(first: ToJsonTuple, second: ToJsonTuple | null): Promise; + coalesce( + first: ToJsonTuple | null, + second: ToJsonTuple | null, + third?: ToJsonTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonUnion.ts new file mode 100644 index 0000000000..82a36fa349 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_ToJsonUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonUnion } from "../../../structures/ToJsonUnion"; + +export const test_llm_application_3_0_ToJsonUnion = _test_llm_application({ + model: "3.0", + name: "ToJsonUnion", +})(typia.llm.application()); + +interface ToJsonUnionApplication { + insert(first: ToJsonUnion): Promise; + reduce(first: ToJsonUnion, second: ToJsonUnion | null): Promise; + coalesce( + first: ToJsonUnion | null, + second: ToJsonUnion | null, + third?: ToJsonUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleHierarchical.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleHierarchical.ts new file mode 100644 index 0000000000..0e26ee1458 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleHierarchical.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleHierarchical } from "../../../structures/TupleHierarchical"; + +export const test_llm_application_3_0_TupleHierarchical = _test_llm_application( + { + model: "3.0", + name: "TupleHierarchical", + }, +)(typia.llm.application()); + +interface TupleHierarchicalApplication { + insert(first: TupleHierarchical): Promise; + reduce( + first: TupleHierarchical, + second: TupleHierarchical | null, + ): Promise; + coalesce( + first: TupleHierarchical | null, + second: TupleHierarchical | null, + third?: TupleHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestArray.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestArray.ts new file mode 100644 index 0000000000..7a4e798343 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleRestArray } from "../../../structures/TupleRestArray"; + +export const test_llm_application_3_0_TupleRestArray = _test_llm_application({ + model: "3.0", + name: "TupleRestArray", +})(typia.llm.application()); + +interface TupleRestArrayApplication { + insert(first: TupleRestArray): Promise; + reduce( + first: TupleRestArray, + second: TupleRestArray | null, + ): Promise; + coalesce( + first: TupleRestArray | null, + second: TupleRestArray | null, + third?: TupleRestArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestAtomic.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestAtomic.ts new file mode 100644 index 0000000000..ab80f4a0bf --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestAtomic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleRestAtomic } from "../../../structures/TupleRestAtomic"; + +export const test_llm_application_3_0_TupleRestAtomic = _test_llm_application({ + model: "3.0", + name: "TupleRestAtomic", +})(typia.llm.application()); + +interface TupleRestAtomicApplication { + insert(first: TupleRestAtomic): Promise; + reduce( + first: TupleRestAtomic, + second: TupleRestAtomic | null, + ): Promise; + coalesce( + first: TupleRestAtomic | null, + second: TupleRestAtomic | null, + third?: TupleRestAtomic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestObject.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestObject.ts new file mode 100644 index 0000000000..334c0e2555 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TupleRestObject.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleRestObject } from "../../../structures/TupleRestObject"; + +export const test_llm_application_3_0_TupleRestObject = _test_llm_application({ + model: "3.0", + name: "TupleRestObject", +})(typia.llm.application()); + +interface TupleRestObjectApplication { + insert(first: TupleRestObject): Promise; + reduce( + first: TupleRestObject, + second: TupleRestObject | null, + ): Promise; + coalesce( + first: TupleRestObject | null, + second: TupleRestObject | null, + third?: TupleRestObject | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagArray.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagArray.ts new file mode 100644 index 0000000000..52f5a46623 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagArray } from "../../../structures/TypeTagArray"; + +export const test_llm_application_3_0_TypeTagArray = _test_llm_application({ + model: "3.0", + name: "TypeTagArray", +})(typia.llm.application()); + +interface TypeTagArrayApplication { + insert(first: TypeTagArray): Promise; + reduce( + first: TypeTagArray, + second: TypeTagArray | null, + ): Promise; + coalesce( + first: TypeTagArray | null, + second: TypeTagArray | null, + third?: TypeTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagArrayUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagArrayUnion.ts new file mode 100644 index 0000000000..9de66f1ff9 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagArrayUnion.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagArrayUnion } from "../../../structures/TypeTagArrayUnion"; + +export const test_llm_application_3_0_TypeTagArrayUnion = _test_llm_application( + { + model: "3.0", + name: "TypeTagArrayUnion", + }, +)(typia.llm.application()); + +interface TypeTagArrayUnionApplication { + insert(first: TypeTagArrayUnion): Promise; + reduce( + first: TypeTagArrayUnion, + second: TypeTagArrayUnion | null, + ): Promise; + coalesce( + first: TypeTagArrayUnion | null, + second: TypeTagArrayUnion | null, + third?: TypeTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagAtomicUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagAtomicUnion.ts new file mode 100644 index 0000000000..b8d427478c --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagAtomicUnion } from "../../../structures/TypeTagAtomicUnion"; + +export const test_llm_application_3_0_TypeTagAtomicUnion = + _test_llm_application({ + model: "3.0", + name: "TypeTagAtomicUnion", + })(typia.llm.application()); + +interface TypeTagAtomicUnionApplication { + insert(first: TypeTagAtomicUnion): Promise; + reduce( + first: TypeTagAtomicUnion, + second: TypeTagAtomicUnion | null, + ): Promise; + coalesce( + first: TypeTagAtomicUnion | null, + second: TypeTagAtomicUnion | null, + third?: TypeTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagCustom.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagCustom.ts new file mode 100644 index 0000000000..7efd855bd9 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagCustom.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagCustom } from "../../../structures/TypeTagCustom"; + +export const test_llm_application_3_0_TypeTagCustom = _test_llm_application({ + model: "3.0", + name: "TypeTagCustom", +})(typia.llm.application()); + +interface TypeTagCustomApplication { + insert(first: TypeTagCustom): Promise; + reduce( + first: TypeTagCustom, + second: TypeTagCustom | null, + ): Promise; + coalesce( + first: TypeTagCustom | null, + second: TypeTagCustom | null, + third?: TypeTagCustom | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagDefault.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagDefault.ts new file mode 100644 index 0000000000..a0865778ca --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagDefault.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagDefault } from "../../../structures/TypeTagDefault"; + +export const test_llm_application_3_0_TypeTagDefault = _test_llm_application({ + model: "3.0", + name: "TypeTagDefault", +})(typia.llm.application()); + +interface TypeTagDefaultApplication { + insert(first: TypeTagDefault): Promise; + reduce( + first: TypeTagDefault, + second: TypeTagDefault | null, + ): Promise; + coalesce( + first: TypeTagDefault | null, + second: TypeTagDefault | null, + third?: TypeTagDefault | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagFormat.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagFormat.ts new file mode 100644 index 0000000000..4153561dda --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagFormat.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagFormat } from "../../../structures/TypeTagFormat"; + +export const test_llm_application_3_0_TypeTagFormat = _test_llm_application({ + model: "3.0", + name: "TypeTagFormat", +})(typia.llm.application()); + +interface TypeTagFormatApplication { + insert(first: TypeTagFormat): Promise; + reduce( + first: TypeTagFormat, + second: TypeTagFormat | null, + ): Promise; + coalesce( + first: TypeTagFormat | null, + second: TypeTagFormat | null, + third?: TypeTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagLength.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagLength.ts new file mode 100644 index 0000000000..3e2fda1e95 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagLength.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagLength } from "../../../structures/TypeTagLength"; + +export const test_llm_application_3_0_TypeTagLength = _test_llm_application({ + model: "3.0", + name: "TypeTagLength", +})(typia.llm.application()); + +interface TypeTagLengthApplication { + insert(first: TypeTagLength): Promise; + reduce( + first: TypeTagLength, + second: TypeTagLength | null, + ): Promise; + coalesce( + first: TypeTagLength | null, + second: TypeTagLength | null, + third?: TypeTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagMatrix.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagMatrix.ts new file mode 100644 index 0000000000..28a3abe189 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagMatrix.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagMatrix } from "../../../structures/TypeTagMatrix"; + +export const test_llm_application_3_0_TypeTagMatrix = _test_llm_application({ + model: "3.0", + name: "TypeTagMatrix", +})(typia.llm.application()); + +interface TypeTagMatrixApplication { + insert(first: TypeTagMatrix): Promise; + reduce( + first: TypeTagMatrix, + second: TypeTagMatrix | null, + ): Promise; + coalesce( + first: TypeTagMatrix | null, + second: TypeTagMatrix | null, + third?: TypeTagMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagObjectUnion.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagObjectUnion.ts new file mode 100644 index 0000000000..fd7ea556d3 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagObjectUnion } from "../../../structures/TypeTagObjectUnion"; + +export const test_llm_application_3_0_TypeTagObjectUnion = + _test_llm_application({ + model: "3.0", + name: "TypeTagObjectUnion", + })(typia.llm.application()); + +interface TypeTagObjectUnionApplication { + insert(first: TypeTagObjectUnion): Promise; + reduce( + first: TypeTagObjectUnion, + second: TypeTagObjectUnion | null, + ): Promise; + coalesce( + first: TypeTagObjectUnion | null, + second: TypeTagObjectUnion | null, + third?: TypeTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagPattern.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagPattern.ts new file mode 100644 index 0000000000..0aa2978c14 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagPattern.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagPattern } from "../../../structures/TypeTagPattern"; + +export const test_llm_application_3_0_TypeTagPattern = _test_llm_application({ + model: "3.0", + name: "TypeTagPattern", +})(typia.llm.application()); + +interface TypeTagPatternApplication { + insert(first: TypeTagPattern): Promise; + reduce( + first: TypeTagPattern, + second: TypeTagPattern | null, + ): Promise; + coalesce( + first: TypeTagPattern | null, + second: TypeTagPattern | null, + third?: TypeTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagRange.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagRange.ts new file mode 100644 index 0000000000..c8a04c0998 --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagRange } from "../../../structures/TypeTagRange"; + +export const test_llm_application_3_0_TypeTagRange = _test_llm_application({ + model: "3.0", + name: "TypeTagRange", +})(typia.llm.application()); + +interface TypeTagRangeApplication { + insert(first: TypeTagRange): Promise; + reduce( + first: TypeTagRange, + second: TypeTagRange | null, + ): Promise; + coalesce( + first: TypeTagRange | null, + second: TypeTagRange | null, + third?: TypeTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagTuple.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagTuple.ts new file mode 100644 index 0000000000..d4a84c795c --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagTuple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagTuple } from "../../../structures/TypeTagTuple"; + +export const test_llm_application_3_0_TypeTagTuple = _test_llm_application({ + model: "3.0", + name: "TypeTagTuple", +})(typia.llm.application()); + +interface TypeTagTupleApplication { + insert(first: TypeTagTuple): Promise; + reduce( + first: TypeTagTuple, + second: TypeTagTuple | null, + ): Promise; + coalesce( + first: TypeTagTuple | null, + second: TypeTagTuple | null, + third?: TypeTagTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagType.ts b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagType.ts new file mode 100644 index 0000000000..1823f2363f --- /dev/null +++ b/test/src/features/llm.application/3.0/test_llm_application_3_0_TypeTagType.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagType } from "../../../structures/TypeTagType"; + +export const test_llm_application_3_0_TypeTagType = _test_llm_application({ + model: "3.0", + name: "TypeTagType", +})(typia.llm.application()); + +interface TypeTagTypeApplication { + insert(first: TypeTagType): Promise; + reduce(first: TypeTagType, second: TypeTagType | null): Promise; + coalesce( + first: TypeTagType | null, + second: TypeTagType | null, + third?: TypeTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAny.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAny.ts new file mode 100644 index 0000000000..2109653299 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAny.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAny } from "../../../structures/ArrayAny"; + +export const test_llm_application_3_1_ArrayAny = _test_llm_application({ + model: "3.1", + name: "ArrayAny", +})(typia.llm.application()); + +interface ArrayAnyApplication { + insert(first: ArrayAny): Promise; + reduce(first: ArrayAny, second: ArrayAny | null): Promise; + coalesce( + first: ArrayAny | null, + second: ArrayAny | null, + third?: ArrayAny | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAtomicAlias.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAtomicAlias.ts new file mode 100644 index 0000000000..a6b58b8d2d --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAtomicAlias.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAtomicAlias } from "../../../structures/ArrayAtomicAlias"; + +export const test_llm_application_3_1_ArrayAtomicAlias = _test_llm_application({ + model: "3.1", + name: "ArrayAtomicAlias", +})(typia.llm.application()); + +interface ArrayAtomicAliasApplication { + insert(first: ArrayAtomicAlias): Promise; + reduce( + first: ArrayAtomicAlias, + second: ArrayAtomicAlias | null, + ): Promise; + coalesce( + first: ArrayAtomicAlias | null, + second: ArrayAtomicAlias | null, + third?: ArrayAtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAtomicSimple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAtomicSimple.ts new file mode 100644 index 0000000000..e392d388ee --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayAtomicSimple.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAtomicSimple } from "../../../structures/ArrayAtomicSimple"; + +export const test_llm_application_3_1_ArrayAtomicSimple = _test_llm_application( + { + model: "3.1", + name: "ArrayAtomicSimple", + }, +)(typia.llm.application()); + +interface ArrayAtomicSimpleApplication { + insert(first: ArrayAtomicSimple): Promise; + reduce( + first: ArrayAtomicSimple, + second: ArrayAtomicSimple | null, + ): Promise; + coalesce( + first: ArrayAtomicSimple | null, + second: ArrayAtomicSimple | null, + third?: ArrayAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayHierarchical.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayHierarchical.ts new file mode 100644 index 0000000000..b6cb3baf4b --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayHierarchical.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchical } from "../../../structures/ArrayHierarchical"; + +export const test_llm_application_3_1_ArrayHierarchical = _test_llm_application( + { + model: "3.1", + name: "ArrayHierarchical", + }, +)(typia.llm.application()); + +interface ArrayHierarchicalApplication { + insert(first: ArrayHierarchical): Promise; + reduce( + first: ArrayHierarchical, + second: ArrayHierarchical | null, + ): Promise; + coalesce( + first: ArrayHierarchical | null, + second: ArrayHierarchical | null, + third?: ArrayHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayHierarchicalPointer.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayHierarchicalPointer.ts new file mode 100644 index 0000000000..e258a19858 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayHierarchicalPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchicalPointer } from "../../../structures/ArrayHierarchicalPointer"; + +export const test_llm_application_3_1_ArrayHierarchicalPointer = + _test_llm_application({ + model: "3.1", + name: "ArrayHierarchicalPointer", + })(typia.llm.application()); + +interface ArrayHierarchicalPointerApplication { + insert(first: ArrayHierarchicalPointer): Promise; + reduce( + first: ArrayHierarchicalPointer, + second: ArrayHierarchicalPointer | null, + ): Promise; + coalesce( + first: ArrayHierarchicalPointer | null, + second: ArrayHierarchicalPointer | null, + third?: ArrayHierarchicalPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayMatrix.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayMatrix.ts new file mode 100644 index 0000000000..26b9831c58 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayMatrix.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayMatrix } from "../../../structures/ArrayMatrix"; + +export const test_llm_application_3_1_ArrayMatrix = _test_llm_application({ + model: "3.1", + name: "ArrayMatrix", +})(typia.llm.application()); + +interface ArrayMatrixApplication { + insert(first: ArrayMatrix): Promise; + reduce(first: ArrayMatrix, second: ArrayMatrix | null): Promise; + coalesce( + first: ArrayMatrix | null, + second: ArrayMatrix | null, + third?: ArrayMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursive.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursive.ts new file mode 100644 index 0000000000..cefec353ee --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursive.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_llm_application_3_1_ArrayRecursive = _test_llm_application({ + model: "3.1", + name: "ArrayRecursive", +})(typia.llm.application()); + +interface ArrayRecursiveApplication { + insert(first: ArrayRecursive): Promise; + reduce( + first: ArrayRecursive, + second: ArrayRecursive | null, + ): Promise; + coalesce( + first: ArrayRecursive | null, + second: ArrayRecursive | null, + third?: ArrayRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionExplicit.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionExplicit.ts new file mode 100644 index 0000000000..c8d57c8576 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionExplicit } from "../../../structures/ArrayRecursiveUnionExplicit"; + +export const test_llm_application_3_1_ArrayRecursiveUnionExplicit = + _test_llm_application({ + model: "3.1", + name: "ArrayRecursiveUnionExplicit", + })(typia.llm.application()); + +interface ArrayRecursiveUnionExplicitApplication { + insert(first: ArrayRecursiveUnionExplicit): Promise; + reduce( + first: ArrayRecursiveUnionExplicit, + second: ArrayRecursiveUnionExplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicit | null, + second: ArrayRecursiveUnionExplicit | null, + third?: ArrayRecursiveUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionExplicitPointer.ts new file mode 100644 index 0000000000..0a99b29d64 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionExplicitPointer.ts @@ -0,0 +1,28 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionExplicitPointer } from "../../../structures/ArrayRecursiveUnionExplicitPointer"; + +export const test_llm_application_3_1_ArrayRecursiveUnionExplicitPointer = + _test_llm_application({ + model: "3.1", + name: "ArrayRecursiveUnionExplicitPointer", + })( + typia.llm.application< + ArrayRecursiveUnionExplicitPointerApplication, + "3.1" + >(), + ); + +interface ArrayRecursiveUnionExplicitPointerApplication { + insert(first: ArrayRecursiveUnionExplicitPointer): Promise; + reduce( + first: ArrayRecursiveUnionExplicitPointer, + second: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicitPointer | null, + second: ArrayRecursiveUnionExplicitPointer | null, + third?: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionImplicit.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionImplicit.ts new file mode 100644 index 0000000000..d8bccddcab --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRecursiveUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionImplicit } from "../../../structures/ArrayRecursiveUnionImplicit"; + +export const test_llm_application_3_1_ArrayRecursiveUnionImplicit = + _test_llm_application({ + model: "3.1", + name: "ArrayRecursiveUnionImplicit", + })(typia.llm.application()); + +interface ArrayRecursiveUnionImplicitApplication { + insert(first: ArrayRecursiveUnionImplicit): Promise; + reduce( + first: ArrayRecursiveUnionImplicit, + second: ArrayRecursiveUnionImplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionImplicit | null, + second: ArrayRecursiveUnionImplicit | null, + third?: ArrayRecursiveUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedNullable.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedNullable.ts new file mode 100644 index 0000000000..5cdd76c61b --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable"; + +export const test_llm_application_3_1_ArrayRepeatedNullable = + _test_llm_application({ + model: "3.1", + name: "ArrayRepeatedNullable", + })(typia.llm.application()); + +interface ArrayRepeatedNullableApplication { + insert(first: ArrayRepeatedNullable): Promise; + reduce( + first: ArrayRepeatedNullable, + second: ArrayRepeatedNullable | null, + ): Promise; + coalesce( + first: ArrayRepeatedNullable | null, + second: ArrayRepeatedNullable | null, + third?: ArrayRepeatedNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedRequired.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedRequired.ts new file mode 100644 index 0000000000..625847511a --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired"; + +export const test_llm_application_3_1_ArrayRepeatedRequired = + _test_llm_application({ + model: "3.1", + name: "ArrayRepeatedRequired", + })(typia.llm.application()); + +interface ArrayRepeatedRequiredApplication { + insert(first: ArrayRepeatedRequired): Promise; + reduce( + first: ArrayRepeatedRequired, + second: ArrayRepeatedRequired | null, + ): Promise; + coalesce( + first: ArrayRepeatedRequired | null, + second: ArrayRepeatedRequired | null, + third?: ArrayRepeatedRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedUnion.ts new file mode 100644 index 0000000000..003fed219a --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; + +export const test_llm_application_3_1_ArrayRepeatedUnion = + _test_llm_application({ + model: "3.1", + name: "ArrayRepeatedUnion", + })(typia.llm.application()); + +interface ArrayRepeatedUnionApplication { + insert(first: ArrayRepeatedUnion): Promise; + reduce( + first: ArrayRepeatedUnion, + second: ArrayRepeatedUnion | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnion | null, + second: ArrayRepeatedUnion | null, + third?: ArrayRepeatedUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedUnionWithTuple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedUnionWithTuple.ts new file mode 100644 index 0000000000..a1807ae62b --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayRepeatedUnionWithTuple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedUnionWithTuple } from "../../../structures/ArrayRepeatedUnionWithTuple"; + +export const test_llm_application_3_1_ArrayRepeatedUnionWithTuple = + _test_llm_application({ + model: "3.1", + name: "ArrayRepeatedUnionWithTuple", + })(typia.llm.application()); + +interface ArrayRepeatedUnionWithTupleApplication { + insert(first: ArrayRepeatedUnionWithTuple): Promise; + reduce( + first: ArrayRepeatedUnionWithTuple, + second: ArrayRepeatedUnionWithTuple | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnionWithTuple | null, + second: ArrayRepeatedUnionWithTuple | null, + third?: ArrayRepeatedUnionWithTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArraySimple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArraySimple.ts new file mode 100644 index 0000000000..ee28b46eee --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArraySimple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArraySimple } from "../../../structures/ArraySimple"; + +export const test_llm_application_3_1_ArraySimple = _test_llm_application({ + model: "3.1", + name: "ArraySimple", +})(typia.llm.application()); + +interface ArraySimpleApplication { + insert(first: ArraySimple): Promise; + reduce(first: ArraySimple, second: ArraySimple | null): Promise; + coalesce( + first: ArraySimple | null, + second: ArraySimple | null, + third?: ArraySimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayUnion.ts new file mode 100644 index 0000000000..4a52b5a22b --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ArrayUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayUnion } from "../../../structures/ArrayUnion"; + +export const test_llm_application_3_1_ArrayUnion = _test_llm_application({ + model: "3.1", + name: "ArrayUnion", +})(typia.llm.application()); + +interface ArrayUnionApplication { + insert(first: ArrayUnion): Promise; + reduce(first: ArrayUnion, second: ArrayUnion | null): Promise; + coalesce( + first: ArrayUnion | null, + second: ArrayUnion | null, + third?: ArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicAlias.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicAlias.ts new file mode 100644 index 0000000000..96e35b28c1 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicAlias } from "../../../structures/AtomicAlias"; + +export const test_llm_application_3_1_AtomicAlias = _test_llm_application({ + model: "3.1", + name: "AtomicAlias", +})(typia.llm.application()); + +interface AtomicAliasApplication { + insert(first: AtomicAlias): Promise; + reduce(first: AtomicAlias, second: AtomicAlias | null): Promise; + coalesce( + first: AtomicAlias | null, + second: AtomicAlias | null, + third?: AtomicAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicClass.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicClass.ts new file mode 100644 index 0000000000..e356047351 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicClass.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicClass } from "../../../structures/AtomicClass"; + +export const test_llm_application_3_1_AtomicClass = _test_llm_application({ + model: "3.1", + name: "AtomicClass", +})(typia.llm.application()); + +interface AtomicClassApplication { + insert(first: AtomicClass): Promise; + reduce(first: AtomicClass, second: AtomicClass | null): Promise; + coalesce( + first: AtomicClass | null, + second: AtomicClass | null, + third?: AtomicClass | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicIntersection.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicIntersection.ts new file mode 100644 index 0000000000..75c32dca9a --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicIntersection } from "../../../structures/AtomicIntersection"; + +export const test_llm_application_3_1_AtomicIntersection = + _test_llm_application({ + model: "3.1", + name: "AtomicIntersection", + })(typia.llm.application()); + +interface AtomicIntersectionApplication { + insert(first: AtomicIntersection): Promise; + reduce( + first: AtomicIntersection, + second: AtomicIntersection | null, + ): Promise; + coalesce( + first: AtomicIntersection | null, + second: AtomicIntersection | null, + third?: AtomicIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicSimple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicSimple.ts new file mode 100644 index 0000000000..c383c34789 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicSimple } from "../../../structures/AtomicSimple"; + +export const test_llm_application_3_1_AtomicSimple = _test_llm_application({ + model: "3.1", + name: "AtomicSimple", +})(typia.llm.application()); + +interface AtomicSimpleApplication { + insert(first: AtomicSimple): Promise; + reduce( + first: AtomicSimple, + second: AtomicSimple | null, + ): Promise; + coalesce( + first: AtomicSimple | null, + second: AtomicSimple | null, + third?: AtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicUnion.ts new file mode 100644 index 0000000000..9d8040bba3 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_AtomicUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicUnion } from "../../../structures/AtomicUnion"; + +export const test_llm_application_3_1_AtomicUnion = _test_llm_application({ + model: "3.1", + name: "AtomicUnion", +})(typia.llm.application()); + +interface AtomicUnionApplication { + insert(first: AtomicUnion): Promise; + reduce(first: AtomicUnion, second: AtomicUnion | null): Promise; + coalesce( + first: AtomicUnion | null, + second: AtomicUnion | null, + third?: AtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassGetter.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassGetter.ts new file mode 100644 index 0000000000..52f8fc0ab3 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassGetter.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassGetter } from "../../../structures/ClassGetter"; + +export const test_llm_application_3_1_ClassGetter = _test_llm_application({ + model: "3.1", + name: "ClassGetter", +})(typia.llm.application()); + +interface ClassGetterApplication { + insert(first: ClassGetter): Promise; + reduce(first: ClassGetter, second: ClassGetter | null): Promise; + coalesce( + first: ClassGetter | null, + second: ClassGetter | null, + third?: ClassGetter | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassMethod.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassMethod.ts new file mode 100644 index 0000000000..72dbcce8ba --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassMethod.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassMethod } from "../../../structures/ClassMethod"; + +export const test_llm_application_3_1_ClassMethod = _test_llm_application({ + model: "3.1", + name: "ClassMethod", +})(typia.llm.application()); + +interface ClassMethodApplication { + insert(first: ClassMethod): Promise; + reduce(first: ClassMethod, second: ClassMethod | null): Promise; + coalesce( + first: ClassMethod | null, + second: ClassMethod | null, + third?: ClassMethod | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassPropertyAssignment.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassPropertyAssignment.ts new file mode 100644 index 0000000000..1d6bcb93bc --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ClassPropertyAssignment.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassPropertyAssignment } from "../../../structures/ClassPropertyAssignment"; + +export const test_llm_application_3_1_ClassPropertyAssignment = + _test_llm_application({ + model: "3.1", + name: "ClassPropertyAssignment", + })(typia.llm.application()); + +interface ClassPropertyAssignmentApplication { + insert(first: ClassPropertyAssignment): Promise; + reduce( + first: ClassPropertyAssignment, + second: ClassPropertyAssignment | null, + ): Promise; + coalesce( + first: ClassPropertyAssignment | null, + second: ClassPropertyAssignment | null, + third?: ClassPropertyAssignment | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagArray.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagArray.ts new file mode 100644 index 0000000000..f590dc9970 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagArray } from "../../../structures/CommentTagArray"; + +export const test_llm_application_3_1_CommentTagArray = _test_llm_application({ + model: "3.1", + name: "CommentTagArray", +})(typia.llm.application()); + +interface CommentTagArrayApplication { + insert(first: CommentTagArray): Promise; + reduce( + first: CommentTagArray, + second: CommentTagArray | null, + ): Promise; + coalesce( + first: CommentTagArray | null, + second: CommentTagArray | null, + third?: CommentTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagArrayUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagArrayUnion.ts new file mode 100644 index 0000000000..54d52d3a17 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagArrayUnion } from "../../../structures/CommentTagArrayUnion"; + +export const test_llm_application_3_1_CommentTagArrayUnion = + _test_llm_application({ + model: "3.1", + name: "CommentTagArrayUnion", + })(typia.llm.application()); + +interface CommentTagArrayUnionApplication { + insert(first: CommentTagArrayUnion): Promise; + reduce( + first: CommentTagArrayUnion, + second: CommentTagArrayUnion | null, + ): Promise; + coalesce( + first: CommentTagArrayUnion | null, + second: CommentTagArrayUnion | null, + third?: CommentTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagAtomicUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagAtomicUnion.ts new file mode 100644 index 0000000000..4ae54a95b0 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagAtomicUnion } from "../../../structures/CommentTagAtomicUnion"; + +export const test_llm_application_3_1_CommentTagAtomicUnion = + _test_llm_application({ + model: "3.1", + name: "CommentTagAtomicUnion", + })(typia.llm.application()); + +interface CommentTagAtomicUnionApplication { + insert(first: CommentTagAtomicUnion): Promise; + reduce( + first: CommentTagAtomicUnion, + second: CommentTagAtomicUnion | null, + ): Promise; + coalesce( + first: CommentTagAtomicUnion | null, + second: CommentTagAtomicUnion | null, + third?: CommentTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagDefault.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagDefault.ts new file mode 100644 index 0000000000..b8d8725738 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagDefault.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagDefault } from "../../../structures/CommentTagDefault"; + +export const test_llm_application_3_1_CommentTagDefault = _test_llm_application( + { + model: "3.1", + name: "CommentTagDefault", + }, +)(typia.llm.application()); + +interface CommentTagDefaultApplication { + insert(first: CommentTagDefault): Promise; + reduce( + first: CommentTagDefault, + second: CommentTagDefault | null, + ): Promise; + coalesce( + first: CommentTagDefault | null, + second: CommentTagDefault | null, + third?: CommentTagDefault | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagFormat.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagFormat.ts new file mode 100644 index 0000000000..111d234a2e --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagFormat.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagFormat } from "../../../structures/CommentTagFormat"; + +export const test_llm_application_3_1_CommentTagFormat = _test_llm_application({ + model: "3.1", + name: "CommentTagFormat", +})(typia.llm.application()); + +interface CommentTagFormatApplication { + insert(first: CommentTagFormat): Promise; + reduce( + first: CommentTagFormat, + second: CommentTagFormat | null, + ): Promise; + coalesce( + first: CommentTagFormat | null, + second: CommentTagFormat | null, + third?: CommentTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagLength.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagLength.ts new file mode 100644 index 0000000000..a6d4899280 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagLength.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagLength } from "../../../structures/CommentTagLength"; + +export const test_llm_application_3_1_CommentTagLength = _test_llm_application({ + model: "3.1", + name: "CommentTagLength", +})(typia.llm.application()); + +interface CommentTagLengthApplication { + insert(first: CommentTagLength): Promise; + reduce( + first: CommentTagLength, + second: CommentTagLength | null, + ): Promise; + coalesce( + first: CommentTagLength | null, + second: CommentTagLength | null, + third?: CommentTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagObjectUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagObjectUnion.ts new file mode 100644 index 0000000000..a91bba34b5 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagObjectUnion } from "../../../structures/CommentTagObjectUnion"; + +export const test_llm_application_3_1_CommentTagObjectUnion = + _test_llm_application({ + model: "3.1", + name: "CommentTagObjectUnion", + })(typia.llm.application()); + +interface CommentTagObjectUnionApplication { + insert(first: CommentTagObjectUnion): Promise; + reduce( + first: CommentTagObjectUnion, + second: CommentTagObjectUnion | null, + ): Promise; + coalesce( + first: CommentTagObjectUnion | null, + second: CommentTagObjectUnion | null, + third?: CommentTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagPattern.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagPattern.ts new file mode 100644 index 0000000000..31d3145289 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagPattern.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagPattern } from "../../../structures/CommentTagPattern"; + +export const test_llm_application_3_1_CommentTagPattern = _test_llm_application( + { + model: "3.1", + name: "CommentTagPattern", + }, +)(typia.llm.application()); + +interface CommentTagPatternApplication { + insert(first: CommentTagPattern): Promise; + reduce( + first: CommentTagPattern, + second: CommentTagPattern | null, + ): Promise; + coalesce( + first: CommentTagPattern | null, + second: CommentTagPattern | null, + third?: CommentTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagRange.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagRange.ts new file mode 100644 index 0000000000..5d70138769 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagRange } from "../../../structures/CommentTagRange"; + +export const test_llm_application_3_1_CommentTagRange = _test_llm_application({ + model: "3.1", + name: "CommentTagRange", +})(typia.llm.application()); + +interface CommentTagRangeApplication { + insert(first: CommentTagRange): Promise; + reduce( + first: CommentTagRange, + second: CommentTagRange | null, + ): Promise; + coalesce( + first: CommentTagRange | null, + second: CommentTagRange | null, + third?: CommentTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagType.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagType.ts new file mode 100644 index 0000000000..dbf12411b0 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_CommentTagType.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagType } from "../../../structures/CommentTagType"; + +export const test_llm_application_3_1_CommentTagType = _test_llm_application({ + model: "3.1", + name: "CommentTagType", +})(typia.llm.application()); + +interface CommentTagTypeApplication { + insert(first: CommentTagType): Promise; + reduce( + first: CommentTagType, + second: CommentTagType | null, + ): Promise; + coalesce( + first: CommentTagType | null, + second: CommentTagType | null, + third?: CommentTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicAbsorbed.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicAbsorbed.ts new file mode 100644 index 0000000000..ce2bfeee2f --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicAbsorbed.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicAbsorbed } from "../../../structures/ConstantAtomicAbsorbed"; + +export const test_llm_application_3_1_ConstantAtomicAbsorbed = + _test_llm_application({ + model: "3.1", + name: "ConstantAtomicAbsorbed", + })(typia.llm.application()); + +interface ConstantAtomicAbsorbedApplication { + insert(first: ConstantAtomicAbsorbed): Promise; + reduce( + first: ConstantAtomicAbsorbed, + second: ConstantAtomicAbsorbed | null, + ): Promise; + coalesce( + first: ConstantAtomicAbsorbed | null, + second: ConstantAtomicAbsorbed | null, + third?: ConstantAtomicAbsorbed | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicSimple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicSimple.ts new file mode 100644 index 0000000000..23108e2c39 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicSimple } from "../../../structures/ConstantAtomicSimple"; + +export const test_llm_application_3_1_ConstantAtomicSimple = + _test_llm_application({ + model: "3.1", + name: "ConstantAtomicSimple", + })(typia.llm.application()); + +interface ConstantAtomicSimpleApplication { + insert(first: ConstantAtomicSimple): Promise; + reduce( + first: ConstantAtomicSimple, + second: ConstantAtomicSimple | null, + ): Promise; + coalesce( + first: ConstantAtomicSimple | null, + second: ConstantAtomicSimple | null, + third?: ConstantAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicTagged.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicTagged.ts new file mode 100644 index 0000000000..328609e312 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicTagged.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicTagged } from "../../../structures/ConstantAtomicTagged"; + +export const test_llm_application_3_1_ConstantAtomicTagged = + _test_llm_application({ + model: "3.1", + name: "ConstantAtomicTagged", + })(typia.llm.application()); + +interface ConstantAtomicTaggedApplication { + insert(first: ConstantAtomicTagged): Promise; + reduce( + first: ConstantAtomicTagged, + second: ConstantAtomicTagged | null, + ): Promise; + coalesce( + first: ConstantAtomicTagged | null, + second: ConstantAtomicTagged | null, + third?: ConstantAtomicTagged | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicUnion.ts new file mode 100644 index 0000000000..561811b436 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicUnion } from "../../../structures/ConstantAtomicUnion"; + +export const test_llm_application_3_1_ConstantAtomicUnion = + _test_llm_application({ + model: "3.1", + name: "ConstantAtomicUnion", + })(typia.llm.application()); + +interface ConstantAtomicUnionApplication { + insert(first: ConstantAtomicUnion): Promise; + reduce( + first: ConstantAtomicUnion, + second: ConstantAtomicUnion | null, + ): Promise; + coalesce( + first: ConstantAtomicUnion | null, + second: ConstantAtomicUnion | null, + third?: ConstantAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicWrapper.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicWrapper.ts new file mode 100644 index 0000000000..194ee25271 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantAtomicWrapper.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicWrapper } from "../../../structures/ConstantAtomicWrapper"; + +export const test_llm_application_3_1_ConstantAtomicWrapper = + _test_llm_application({ + model: "3.1", + name: "ConstantAtomicWrapper", + })(typia.llm.application()); + +interface ConstantAtomicWrapperApplication { + insert(first: ConstantAtomicWrapper): Promise; + reduce( + first: ConstantAtomicWrapper, + second: ConstantAtomicWrapper | null, + ): Promise; + coalesce( + first: ConstantAtomicWrapper | null, + second: ConstantAtomicWrapper | null, + third?: ConstantAtomicWrapper | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantConstEnumeration.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantConstEnumeration.ts new file mode 100644 index 0000000000..7f1f0261e9 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantConstEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantConstEnumeration } from "../../../structures/ConstantConstEnumeration"; + +export const test_llm_application_3_1_ConstantConstEnumeration = + _test_llm_application({ + model: "3.1", + name: "ConstantConstEnumeration", + })(typia.llm.application()); + +interface ConstantConstEnumerationApplication { + insert(first: ConstantConstEnumeration): Promise; + reduce( + first: ConstantConstEnumeration, + second: ConstantConstEnumeration | null, + ): Promise; + coalesce( + first: ConstantConstEnumeration | null, + second: ConstantConstEnumeration | null, + third?: ConstantConstEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantEnumeration.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantEnumeration.ts new file mode 100644 index 0000000000..e47c45fda8 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantEnumeration } from "../../../structures/ConstantEnumeration"; + +export const test_llm_application_3_1_ConstantEnumeration = + _test_llm_application({ + model: "3.1", + name: "ConstantEnumeration", + })(typia.llm.application()); + +interface ConstantEnumerationApplication { + insert(first: ConstantEnumeration): Promise; + reduce( + first: ConstantEnumeration, + second: ConstantEnumeration | null, + ): Promise; + coalesce( + first: ConstantEnumeration | null, + second: ConstantEnumeration | null, + third?: ConstantEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantIntersection.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantIntersection.ts new file mode 100644 index 0000000000..084bed95c0 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ConstantIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantIntersection } from "../../../structures/ConstantIntersection"; + +export const test_llm_application_3_1_ConstantIntersection = + _test_llm_application({ + model: "3.1", + name: "ConstantIntersection", + })(typia.llm.application()); + +interface ConstantIntersectionApplication { + insert(first: ConstantIntersection): Promise; + reduce( + first: ConstantIntersection, + second: ConstantIntersection | null, + ): Promise; + coalesce( + first: ConstantIntersection | null, + second: ConstantIntersection | null, + third?: ConstantIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicArray.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicArray.ts new file mode 100644 index 0000000000..27d6c7382f --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicArray } from "../../../structures/DynamicArray"; + +export const test_llm_application_3_1_DynamicArray = _test_llm_application({ + model: "3.1", + name: "DynamicArray", +})(typia.llm.application()); + +interface DynamicArrayApplication { + insert(first: DynamicArray): Promise; + reduce( + first: DynamicArray, + second: DynamicArray | null, + ): Promise; + coalesce( + first: DynamicArray | null, + second: DynamicArray | null, + third?: DynamicArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicComposite.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicComposite.ts new file mode 100644 index 0000000000..ade3d08388 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicComposite.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicComposite } from "../../../structures/DynamicComposite"; + +export const test_llm_application_3_1_DynamicComposite = _test_llm_application({ + model: "3.1", + name: "DynamicComposite", +})(typia.llm.application()); + +interface DynamicCompositeApplication { + insert(first: DynamicComposite): Promise; + reduce( + first: DynamicComposite, + second: DynamicComposite | null, + ): Promise; + coalesce( + first: DynamicComposite | null, + second: DynamicComposite | null, + third?: DynamicComposite | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicConstant.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicConstant.ts new file mode 100644 index 0000000000..4ef22ecba2 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicConstant.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicConstant } from "../../../structures/DynamicConstant"; + +export const test_llm_application_3_1_DynamicConstant = _test_llm_application({ + model: "3.1", + name: "DynamicConstant", +})(typia.llm.application()); + +interface DynamicConstantApplication { + insert(first: DynamicConstant): Promise; + reduce( + first: DynamicConstant, + second: DynamicConstant | null, + ): Promise; + coalesce( + first: DynamicConstant | null, + second: DynamicConstant | null, + third?: DynamicConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicEnumeration.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicEnumeration.ts new file mode 100644 index 0000000000..13ff1afa2e --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicEnumeration } from "../../../structures/DynamicEnumeration"; + +export const test_llm_application_3_1_DynamicEnumeration = + _test_llm_application({ + model: "3.1", + name: "DynamicEnumeration", + })(typia.llm.application()); + +interface DynamicEnumerationApplication { + insert(first: DynamicEnumeration): Promise; + reduce( + first: DynamicEnumeration, + second: DynamicEnumeration | null, + ): Promise; + coalesce( + first: DynamicEnumeration | null, + second: DynamicEnumeration | null, + third?: DynamicEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicNever.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicNever.ts new file mode 100644 index 0000000000..c8fcce62ec --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicNever.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicNever } from "../../../structures/DynamicNever"; + +export const test_llm_application_3_1_DynamicNever = _test_llm_application({ + model: "3.1", + name: "DynamicNever", +})(typia.llm.application()); + +interface DynamicNeverApplication { + insert(first: DynamicNever): Promise; + reduce( + first: DynamicNever, + second: DynamicNever | null, + ): Promise; + coalesce( + first: DynamicNever | null, + second: DynamicNever | null, + third?: DynamicNever | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicSimple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicSimple.ts new file mode 100644 index 0000000000..817d9ff535 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicSimple } from "../../../structures/DynamicSimple"; + +export const test_llm_application_3_1_DynamicSimple = _test_llm_application({ + model: "3.1", + name: "DynamicSimple", +})(typia.llm.application()); + +interface DynamicSimpleApplication { + insert(first: DynamicSimple): Promise; + reduce( + first: DynamicSimple, + second: DynamicSimple | null, + ): Promise; + coalesce( + first: DynamicSimple | null, + second: DynamicSimple | null, + third?: DynamicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicTemplate.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicTemplate.ts new file mode 100644 index 0000000000..18537a42b7 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicTemplate.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicTemplate } from "../../../structures/DynamicTemplate"; + +export const test_llm_application_3_1_DynamicTemplate = _test_llm_application({ + model: "3.1", + name: "DynamicTemplate", +})(typia.llm.application()); + +interface DynamicTemplateApplication { + insert(first: DynamicTemplate): Promise; + reduce( + first: DynamicTemplate, + second: DynamicTemplate | null, + ): Promise; + coalesce( + first: DynamicTemplate | null, + second: DynamicTemplate | null, + third?: DynamicTemplate | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicTree.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicTree.ts new file mode 100644 index 0000000000..4a2749fce9 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicTree.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_llm_application_3_1_DynamicTree = _test_llm_application({ + model: "3.1", + name: "DynamicTree", +})(typia.llm.application()); + +interface DynamicTreeApplication { + insert(first: DynamicTree): Promise; + reduce(first: DynamicTree, second: DynamicTree | null): Promise; + coalesce( + first: DynamicTree | null, + second: DynamicTree | null, + third?: DynamicTree | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicUndefined.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicUndefined.ts new file mode 100644 index 0000000000..36436ca152 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicUndefined.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicUndefined } from "../../../structures/DynamicUndefined"; + +export const test_llm_application_3_1_DynamicUndefined = _test_llm_application({ + model: "3.1", + name: "DynamicUndefined", +})(typia.llm.application()); + +interface DynamicUndefinedApplication { + insert(first: DynamicUndefined): Promise; + reduce( + first: DynamicUndefined, + second: DynamicUndefined | null, + ): Promise; + coalesce( + first: DynamicUndefined | null, + second: DynamicUndefined | null, + third?: DynamicUndefined | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicUnion.ts new file mode 100644 index 0000000000..b5fa02b903 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_DynamicUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicUnion } from "../../../structures/DynamicUnion"; + +export const test_llm_application_3_1_DynamicUnion = _test_llm_application({ + model: "3.1", + name: "DynamicUnion", +})(typia.llm.application()); + +interface DynamicUnionApplication { + insert(first: DynamicUnion): Promise; + reduce( + first: DynamicUnion, + second: DynamicUnion | null, + ): Promise; + coalesce( + first: DynamicUnion | null, + second: DynamicUnion | null, + third?: DynamicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectAlias.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectAlias.ts new file mode 100644 index 0000000000..55b06823d7 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectAlias } from "../../../structures/ObjectAlias"; + +export const test_llm_application_3_1_ObjectAlias = _test_llm_application({ + model: "3.1", + name: "ObjectAlias", +})(typia.llm.application()); + +interface ObjectAliasApplication { + insert(first: ObjectAlias): Promise; + reduce(first: ObjectAlias, second: ObjectAlias | null): Promise; + coalesce( + first: ObjectAlias | null, + second: ObjectAlias | null, + third?: ObjectAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDate.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDate.ts new file mode 100644 index 0000000000..0289c1ab96 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDate.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDate } from "../../../structures/ObjectDate"; + +export const test_llm_application_3_1_ObjectDate = _test_llm_application({ + model: "3.1", + name: "ObjectDate", +})(typia.llm.application()); + +interface ObjectDateApplication { + insert(first: ObjectDate): Promise; + reduce(first: ObjectDate, second: ObjectDate | null): Promise; + coalesce( + first: ObjectDate | null, + second: ObjectDate | null, + third?: ObjectDate | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDescription.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDescription.ts new file mode 100644 index 0000000000..0ff26ca6b4 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDescription.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDescription } from "../../../structures/ObjectDescription"; + +export const test_llm_application_3_1_ObjectDescription = _test_llm_application( + { + model: "3.1", + name: "ObjectDescription", + }, +)(typia.llm.application()); + +interface ObjectDescriptionApplication { + insert(first: ObjectDescription): Promise; + reduce( + first: ObjectDescription, + second: ObjectDescription | null, + ): Promise; + coalesce( + first: ObjectDescription | null, + second: ObjectDescription | null, + third?: ObjectDescription | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDynamic.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDynamic.ts new file mode 100644 index 0000000000..e9509e7011 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectDynamic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDynamic } from "../../../structures/ObjectDynamic"; + +export const test_llm_application_3_1_ObjectDynamic = _test_llm_application({ + model: "3.1", + name: "ObjectDynamic", +})(typia.llm.application()); + +interface ObjectDynamicApplication { + insert(first: ObjectDynamic): Promise; + reduce( + first: ObjectDynamic, + second: ObjectDynamic | null, + ): Promise; + coalesce( + first: ObjectDynamic | null, + second: ObjectDynamic | null, + third?: ObjectDynamic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGeneric.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGeneric.ts new file mode 100644 index 0000000000..a7b97c7b78 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGeneric.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGeneric } from "../../../structures/ObjectGeneric"; + +export const test_llm_application_3_1_ObjectGeneric = _test_llm_application({ + model: "3.1", + name: "ObjectGeneric", +})(typia.llm.application()); + +interface ObjectGenericApplication { + insert(first: ObjectGeneric): Promise; + reduce( + first: ObjectGeneric, + second: ObjectGeneric | null, + ): Promise; + coalesce( + first: ObjectGeneric | null, + second: ObjectGeneric | null, + third?: ObjectGeneric | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericAlias.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericAlias.ts new file mode 100644 index 0000000000..67428e1689 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericAlias } from "../../../structures/ObjectGenericAlias"; + +export const test_llm_application_3_1_ObjectGenericAlias = + _test_llm_application({ + model: "3.1", + name: "ObjectGenericAlias", + })(typia.llm.application()); + +interface ObjectGenericAliasApplication { + insert(first: ObjectGenericAlias): Promise; + reduce( + first: ObjectGenericAlias, + second: ObjectGenericAlias | null, + ): Promise; + coalesce( + first: ObjectGenericAlias | null, + second: ObjectGenericAlias | null, + third?: ObjectGenericAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericArray.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericArray.ts new file mode 100644 index 0000000000..395f5be02c --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericArray } from "../../../structures/ObjectGenericArray"; + +export const test_llm_application_3_1_ObjectGenericArray = + _test_llm_application({ + model: "3.1", + name: "ObjectGenericArray", + })(typia.llm.application()); + +interface ObjectGenericArrayApplication { + insert(first: ObjectGenericArray): Promise; + reduce( + first: ObjectGenericArray, + second: ObjectGenericArray | null, + ): Promise; + coalesce( + first: ObjectGenericArray | null, + second: ObjectGenericArray | null, + third?: ObjectGenericArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericUnion.ts new file mode 100644 index 0000000000..6820315b7d --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectGenericUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericUnion } from "../../../structures/ObjectGenericUnion"; + +export const test_llm_application_3_1_ObjectGenericUnion = + _test_llm_application({ + model: "3.1", + name: "ObjectGenericUnion", + })(typia.llm.application()); + +interface ObjectGenericUnionApplication { + insert(first: ObjectGenericUnion): Promise; + reduce( + first: ObjectGenericUnion, + second: ObjectGenericUnion | null, + ): Promise; + coalesce( + first: ObjectGenericUnion | null, + second: ObjectGenericUnion | null, + third?: ObjectGenericUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectHierarchical.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectHierarchical.ts new file mode 100644 index 0000000000..48f25309c9 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectHierarchical } from "../../../structures/ObjectHierarchical"; + +export const test_llm_application_3_1_ObjectHierarchical = + _test_llm_application({ + model: "3.1", + name: "ObjectHierarchical", + })(typia.llm.application()); + +interface ObjectHierarchicalApplication { + insert(first: ObjectHierarchical): Promise; + reduce( + first: ObjectHierarchical, + second: ObjectHierarchical | null, + ): Promise; + coalesce( + first: ObjectHierarchical | null, + second: ObjectHierarchical | null, + third?: ObjectHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectInternal.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectInternal.ts new file mode 100644 index 0000000000..5f04496e7b --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectInternal.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectInternal } from "../../../structures/ObjectInternal"; + +export const test_llm_application_3_1_ObjectInternal = _test_llm_application({ + model: "3.1", + name: "ObjectInternal", +})(typia.llm.application()); + +interface ObjectInternalApplication { + insert(first: ObjectInternal): Promise; + reduce( + first: ObjectInternal, + second: ObjectInternal | null, + ): Promise; + coalesce( + first: ObjectInternal | null, + second: ObjectInternal | null, + third?: ObjectInternal | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectIntersection.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectIntersection.ts new file mode 100644 index 0000000000..0993fc8eb8 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectIntersection } from "../../../structures/ObjectIntersection"; + +export const test_llm_application_3_1_ObjectIntersection = + _test_llm_application({ + model: "3.1", + name: "ObjectIntersection", + })(typia.llm.application()); + +interface ObjectIntersectionApplication { + insert(first: ObjectIntersection): Promise; + reduce( + first: ObjectIntersection, + second: ObjectIntersection | null, + ): Promise; + coalesce( + first: ObjectIntersection | null, + second: ObjectIntersection | null, + third?: ObjectIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectJsonTag.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectJsonTag.ts new file mode 100644 index 0000000000..93d73d6ed7 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectJsonTag.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectJsonTag } from "../../../structures/ObjectJsonTag"; + +export const test_llm_application_3_1_ObjectJsonTag = _test_llm_application({ + model: "3.1", + name: "ObjectJsonTag", +})(typia.llm.application()); + +interface ObjectJsonTagApplication { + insert(first: ObjectJsonTag): Promise; + reduce( + first: ObjectJsonTag, + second: ObjectJsonTag | null, + ): Promise; + coalesce( + first: ObjectJsonTag | null, + second: ObjectJsonTag | null, + third?: ObjectJsonTag | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectLiteralProperty.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectLiteralProperty.ts new file mode 100644 index 0000000000..bd302bd2a2 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectLiteralProperty.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralProperty } from "../../../structures/ObjectLiteralProperty"; + +export const test_llm_application_3_1_ObjectLiteralProperty = + _test_llm_application({ + model: "3.1", + name: "ObjectLiteralProperty", + })(typia.llm.application()); + +interface ObjectLiteralPropertyApplication { + insert(first: ObjectLiteralProperty): Promise; + reduce( + first: ObjectLiteralProperty, + second: ObjectLiteralProperty | null, + ): Promise; + coalesce( + first: ObjectLiteralProperty | null, + second: ObjectLiteralProperty | null, + third?: ObjectLiteralProperty | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectLiteralType.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectLiteralType.ts new file mode 100644 index 0000000000..45db145483 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectLiteralType.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralType } from "../../../structures/ObjectLiteralType"; + +export const test_llm_application_3_1_ObjectLiteralType = _test_llm_application( + { + model: "3.1", + name: "ObjectLiteralType", + }, +)(typia.llm.application()); + +interface ObjectLiteralTypeApplication { + insert(first: ObjectLiteralType): Promise; + reduce( + first: ObjectLiteralType, + second: ObjectLiteralType | null, + ): Promise; + coalesce( + first: ObjectLiteralType | null, + second: ObjectLiteralType | null, + third?: ObjectLiteralType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectNullable.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectNullable.ts new file mode 100644 index 0000000000..7d262d6675 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectNullable.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectNullable } from "../../../structures/ObjectNullable"; + +export const test_llm_application_3_1_ObjectNullable = _test_llm_application({ + model: "3.1", + name: "ObjectNullable", +})(typia.llm.application()); + +interface ObjectNullableApplication { + insert(first: ObjectNullable): Promise; + reduce( + first: ObjectNullable, + second: ObjectNullable | null, + ): Promise; + coalesce( + first: ObjectNullable | null, + second: ObjectNullable | null, + third?: ObjectNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectOptional.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectOptional.ts new file mode 100644 index 0000000000..8fe0c0b7f7 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectOptional.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectOptional } from "../../../structures/ObjectOptional"; + +export const test_llm_application_3_1_ObjectOptional = _test_llm_application({ + model: "3.1", + name: "ObjectOptional", +})(typia.llm.application()); + +interface ObjectOptionalApplication { + insert(first: ObjectOptional): Promise; + reduce( + first: ObjectOptional, + second: ObjectOptional | null, + ): Promise; + coalesce( + first: ObjectOptional | null, + second: ObjectOptional | null, + third?: ObjectOptional | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPartial.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPartial.ts new file mode 100644 index 0000000000..f29ed7f650 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPartial.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_llm_application_3_1_ObjectPartial = _test_llm_application({ + model: "3.1", + name: "ObjectPartial", +})(typia.llm.application()); + +interface ObjectPartialApplication { + insert(first: ObjectPartial): Promise; + reduce( + first: ObjectPartial, + second: ObjectPartial | null, + ): Promise; + coalesce( + first: ObjectPartial | null, + second: ObjectPartial | null, + third?: ObjectPartial | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPartialAndRequired.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..6c7631f8ad --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPartialAndRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_llm_application_3_1_ObjectPartialAndRequired = + _test_llm_application({ + model: "3.1", + name: "ObjectPartialAndRequired", + })(typia.llm.application()); + +interface ObjectPartialAndRequiredApplication { + insert(first: ObjectPartialAndRequired): Promise; + reduce( + first: ObjectPartialAndRequired, + second: ObjectPartialAndRequired | null, + ): Promise; + coalesce( + first: ObjectPartialAndRequired | null, + second: ObjectPartialAndRequired | null, + third?: ObjectPartialAndRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPrimitive.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPrimitive.ts new file mode 100644 index 0000000000..0cd767501c --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPrimitive.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPrimitive } from "../../../structures/ObjectPrimitive"; + +export const test_llm_application_3_1_ObjectPrimitive = _test_llm_application({ + model: "3.1", + name: "ObjectPrimitive", +})(typia.llm.application()); + +interface ObjectPrimitiveApplication { + insert(first: ObjectPrimitive): Promise; + reduce( + first: ObjectPrimitive, + second: ObjectPrimitive | null, + ): Promise; + coalesce( + first: ObjectPrimitive | null, + second: ObjectPrimitive | null, + third?: ObjectPrimitive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPropertyNullable.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPropertyNullable.ts new file mode 100644 index 0000000000..d185502918 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectPropertyNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPropertyNullable } from "../../../structures/ObjectPropertyNullable"; + +export const test_llm_application_3_1_ObjectPropertyNullable = + _test_llm_application({ + model: "3.1", + name: "ObjectPropertyNullable", + })(typia.llm.application()); + +interface ObjectPropertyNullableApplication { + insert(first: ObjectPropertyNullable): Promise; + reduce( + first: ObjectPropertyNullable, + second: ObjectPropertyNullable | null, + ): Promise; + coalesce( + first: ObjectPropertyNullable | null, + second: ObjectPropertyNullable | null, + third?: ObjectPropertyNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectRecursive.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectRecursive.ts new file mode 100644 index 0000000000..2658e350a9 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectRecursive.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_llm_application_3_1_ObjectRecursive = _test_llm_application({ + model: "3.1", + name: "ObjectRecursive", +})(typia.llm.application()); + +interface ObjectRecursiveApplication { + insert(first: ObjectRecursive): Promise; + reduce( + first: ObjectRecursive, + second: ObjectRecursive | null, + ): Promise; + coalesce( + first: ObjectRecursive | null, + second: ObjectRecursive | null, + third?: ObjectRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectRequired.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectRequired.ts new file mode 100644 index 0000000000..1f53a394a2 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectRequired.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_llm_application_3_1_ObjectRequired = _test_llm_application({ + model: "3.1", + name: "ObjectRequired", +})(typia.llm.application()); + +interface ObjectRequiredApplication { + insert(first: ObjectRequired): Promise; + reduce( + first: ObjectRequired, + second: ObjectRequired | null, + ): Promise; + coalesce( + first: ObjectRequired | null, + second: ObjectRequired | null, + third?: ObjectRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectSimple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectSimple.ts new file mode 100644 index 0000000000..42ab668d3e --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectSimple } from "../../../structures/ObjectSimple"; + +export const test_llm_application_3_1_ObjectSimple = _test_llm_application({ + model: "3.1", + name: "ObjectSimple", +})(typia.llm.application()); + +interface ObjectSimpleApplication { + insert(first: ObjectSimple): Promise; + reduce( + first: ObjectSimple, + second: ObjectSimple | null, + ): Promise; + coalesce( + first: ObjectSimple | null, + second: ObjectSimple | null, + third?: ObjectSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectTuple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectTuple.ts new file mode 100644 index 0000000000..5ab2fccd7a --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectTuple } from "../../../structures/ObjectTuple"; + +export const test_llm_application_3_1_ObjectTuple = _test_llm_application({ + model: "3.1", + name: "ObjectTuple", +})(typia.llm.application()); + +interface ObjectTupleApplication { + insert(first: ObjectTuple): Promise; + reduce(first: ObjectTuple, second: ObjectTuple | null): Promise; + coalesce( + first: ObjectTuple | null, + second: ObjectTuple | null, + third?: ObjectTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUndefined.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUndefined.ts new file mode 100644 index 0000000000..8b74ef50d8 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUndefined.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUndefined } from "../../../structures/ObjectUndefined"; + +export const test_llm_application_3_1_ObjectUndefined = _test_llm_application({ + model: "3.1", + name: "ObjectUndefined", +})(typia.llm.application()); + +interface ObjectUndefinedApplication { + insert(first: ObjectUndefined): Promise; + reduce( + first: ObjectUndefined, + second: ObjectUndefined | null, + ): Promise; + coalesce( + first: ObjectUndefined | null, + second: ObjectUndefined | null, + third?: ObjectUndefined | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionComposite.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionComposite.ts new file mode 100644 index 0000000000..a150d5e7a3 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionComposite } from "../../../structures/ObjectUnionComposite"; + +export const test_llm_application_3_1_ObjectUnionComposite = + _test_llm_application({ + model: "3.1", + name: "ObjectUnionComposite", + })(typia.llm.application()); + +interface ObjectUnionCompositeApplication { + insert(first: ObjectUnionComposite): Promise; + reduce( + first: ObjectUnionComposite, + second: ObjectUnionComposite | null, + ): Promise; + coalesce( + first: ObjectUnionComposite | null, + second: ObjectUnionComposite | null, + third?: ObjectUnionComposite | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionCompositePointer.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionCompositePointer.ts new file mode 100644 index 0000000000..8f78c49e9f --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionCompositePointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionCompositePointer } from "../../../structures/ObjectUnionCompositePointer"; + +export const test_llm_application_3_1_ObjectUnionCompositePointer = + _test_llm_application({ + model: "3.1", + name: "ObjectUnionCompositePointer", + })(typia.llm.application()); + +interface ObjectUnionCompositePointerApplication { + insert(first: ObjectUnionCompositePointer): Promise; + reduce( + first: ObjectUnionCompositePointer, + second: ObjectUnionCompositePointer | null, + ): Promise; + coalesce( + first: ObjectUnionCompositePointer | null, + second: ObjectUnionCompositePointer | null, + third?: ObjectUnionCompositePointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionDouble.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionDouble.ts new file mode 100644 index 0000000000..5c423533dc --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionDouble.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionDouble } from "../../../structures/ObjectUnionDouble"; + +export const test_llm_application_3_1_ObjectUnionDouble = _test_llm_application( + { + model: "3.1", + name: "ObjectUnionDouble", + }, +)(typia.llm.application()); + +interface ObjectUnionDoubleApplication { + insert(first: ObjectUnionDouble): Promise; + reduce( + first: ObjectUnionDouble, + second: ObjectUnionDouble | null, + ): Promise; + coalesce( + first: ObjectUnionDouble | null, + second: ObjectUnionDouble | null, + third?: ObjectUnionDouble | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionExplicit.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionExplicit.ts new file mode 100644 index 0000000000..0992bc0913 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionExplicit } from "../../../structures/ObjectUnionExplicit"; + +export const test_llm_application_3_1_ObjectUnionExplicit = + _test_llm_application({ + model: "3.1", + name: "ObjectUnionExplicit", + })(typia.llm.application()); + +interface ObjectUnionExplicitApplication { + insert(first: ObjectUnionExplicit): Promise; + reduce( + first: ObjectUnionExplicit, + second: ObjectUnionExplicit | null, + ): Promise; + coalesce( + first: ObjectUnionExplicit | null, + second: ObjectUnionExplicit | null, + third?: ObjectUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionExplicitPointer.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionExplicitPointer.ts new file mode 100644 index 0000000000..529939144d --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionExplicitPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionExplicitPointer } from "../../../structures/ObjectUnionExplicitPointer"; + +export const test_llm_application_3_1_ObjectUnionExplicitPointer = + _test_llm_application({ + model: "3.1", + name: "ObjectUnionExplicitPointer", + })(typia.llm.application()); + +interface ObjectUnionExplicitPointerApplication { + insert(first: ObjectUnionExplicitPointer): Promise; + reduce( + first: ObjectUnionExplicitPointer, + second: ObjectUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ObjectUnionExplicitPointer | null, + second: ObjectUnionExplicitPointer | null, + third?: ObjectUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionImplicit.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionImplicit.ts new file mode 100644 index 0000000000..4c00dabeb8 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionImplicit } from "../../../structures/ObjectUnionImplicit"; + +export const test_llm_application_3_1_ObjectUnionImplicit = + _test_llm_application({ + model: "3.1", + name: "ObjectUnionImplicit", + })(typia.llm.application()); + +interface ObjectUnionImplicitApplication { + insert(first: ObjectUnionImplicit): Promise; + reduce( + first: ObjectUnionImplicit, + second: ObjectUnionImplicit | null, + ): Promise; + coalesce( + first: ObjectUnionImplicit | null, + second: ObjectUnionImplicit | null, + third?: ObjectUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionNonPredictable.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionNonPredictable.ts new file mode 100644 index 0000000000..c64725655f --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ObjectUnionNonPredictable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionNonPredictable } from "../../../structures/ObjectUnionNonPredictable"; + +export const test_llm_application_3_1_ObjectUnionNonPredictable = + _test_llm_application({ + model: "3.1", + name: "ObjectUnionNonPredictable", + })(typia.llm.application()); + +interface ObjectUnionNonPredictableApplication { + insert(first: ObjectUnionNonPredictable): Promise; + reduce( + first: ObjectUnionNonPredictable, + second: ObjectUnionNonPredictable | null, + ): Promise; + coalesce( + first: ObjectUnionNonPredictable | null, + second: ObjectUnionNonPredictable | null, + third?: ObjectUnionNonPredictable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateAtomic.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateAtomic.ts new file mode 100644 index 0000000000..f173b62a5c --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateAtomic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateAtomic } from "../../../structures/TemplateAtomic"; + +export const test_llm_application_3_1_TemplateAtomic = _test_llm_application({ + model: "3.1", + name: "TemplateAtomic", +})(typia.llm.application()); + +interface TemplateAtomicApplication { + insert(first: TemplateAtomic): Promise; + reduce( + first: TemplateAtomic, + second: TemplateAtomic | null, + ): Promise; + coalesce( + first: TemplateAtomic | null, + second: TemplateAtomic | null, + third?: TemplateAtomic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateConstant.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateConstant.ts new file mode 100644 index 0000000000..42b4c4d80c --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateConstant.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateConstant } from "../../../structures/TemplateConstant"; + +export const test_llm_application_3_1_TemplateConstant = _test_llm_application({ + model: "3.1", + name: "TemplateConstant", +})(typia.llm.application()); + +interface TemplateConstantApplication { + insert(first: TemplateConstant): Promise; + reduce( + first: TemplateConstant, + second: TemplateConstant | null, + ): Promise; + coalesce( + first: TemplateConstant | null, + second: TemplateConstant | null, + third?: TemplateConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateUnion.ts new file mode 100644 index 0000000000..62e7db4ebd --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TemplateUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateUnion } from "../../../structures/TemplateUnion"; + +export const test_llm_application_3_1_TemplateUnion = _test_llm_application({ + model: "3.1", + name: "TemplateUnion", +})(typia.llm.application()); + +interface TemplateUnionApplication { + insert(first: TemplateUnion): Promise; + reduce( + first: TemplateUnion, + second: TemplateUnion | null, + ): Promise; + coalesce( + first: TemplateUnion | null, + second: TemplateUnion | null, + third?: TemplateUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonArray.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonArray.ts new file mode 100644 index 0000000000..cb2800b98b --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonArray.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonArray } from "../../../structures/ToJsonArray"; + +export const test_llm_application_3_1_ToJsonArray = _test_llm_application({ + model: "3.1", + name: "ToJsonArray", +})(typia.llm.application()); + +interface ToJsonArrayApplication { + insert(first: ToJsonArray): Promise; + reduce(first: ToJsonArray, second: ToJsonArray | null): Promise; + coalesce( + first: ToJsonArray | null, + second: ToJsonArray | null, + third?: ToJsonArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonAtomicSimple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonAtomicSimple.ts new file mode 100644 index 0000000000..9a948cbc9c --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonAtomicSimple.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonAtomicSimple } from "../../../structures/ToJsonAtomicSimple"; + +export const test_llm_application_3_1_ToJsonAtomicSimple = + _test_llm_application({ + model: "3.1", + name: "ToJsonAtomicSimple", + })(typia.llm.application()); + +interface ToJsonAtomicSimpleApplication { + insert(first: ToJsonAtomicSimple): Promise; + reduce( + first: ToJsonAtomicSimple, + second: ToJsonAtomicSimple | null, + ): Promise; + coalesce( + first: ToJsonAtomicSimple | null, + second: ToJsonAtomicSimple | null, + third?: ToJsonAtomicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonAtomicUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonAtomicUnion.ts new file mode 100644 index 0000000000..c885f059be --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonAtomicUnion.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonAtomicUnion } from "../../../structures/ToJsonAtomicUnion"; + +export const test_llm_application_3_1_ToJsonAtomicUnion = _test_llm_application( + { + model: "3.1", + name: "ToJsonAtomicUnion", + }, +)(typia.llm.application()); + +interface ToJsonAtomicUnionApplication { + insert(first: ToJsonAtomicUnion): Promise; + reduce( + first: ToJsonAtomicUnion, + second: ToJsonAtomicUnion | null, + ): Promise; + coalesce( + first: ToJsonAtomicUnion | null, + second: ToJsonAtomicUnion | null, + third?: ToJsonAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonDouble.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonDouble.ts new file mode 100644 index 0000000000..cd7186c7fa --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonDouble.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonDouble } from "../../../structures/ToJsonDouble"; + +export const test_llm_application_3_1_ToJsonDouble = _test_llm_application({ + model: "3.1", + name: "ToJsonDouble", +})(typia.llm.application()); + +interface ToJsonDoubleApplication { + insert(first: ToJsonDouble): Promise; + reduce( + first: ToJsonDouble, + second: ToJsonDouble | null, + ): Promise; + coalesce( + first: ToJsonDouble | null, + second: ToJsonDouble | null, + third?: ToJsonDouble | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonNull.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonNull.ts new file mode 100644 index 0000000000..98f4294c9a --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonNull.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonNull } from "../../../structures/ToJsonNull"; + +export const test_llm_application_3_1_ToJsonNull = _test_llm_application({ + model: "3.1", + name: "ToJsonNull", +})(typia.llm.application()); + +interface ToJsonNullApplication { + insert(first: ToJsonNull): Promise; + reduce(first: ToJsonNull, second: ToJsonNull | null): Promise; + coalesce( + first: ToJsonNull | null, + second: ToJsonNull | null, + third?: ToJsonNull | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonTuple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonTuple.ts new file mode 100644 index 0000000000..2698a41cbf --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonTuple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonTuple } from "../../../structures/ToJsonTuple"; + +export const test_llm_application_3_1_ToJsonTuple = _test_llm_application({ + model: "3.1", + name: "ToJsonTuple", +})(typia.llm.application()); + +interface ToJsonTupleApplication { + insert(first: ToJsonTuple): Promise; + reduce(first: ToJsonTuple, second: ToJsonTuple | null): Promise; + coalesce( + first: ToJsonTuple | null, + second: ToJsonTuple | null, + third?: ToJsonTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonUnion.ts new file mode 100644 index 0000000000..7f7776a5dc --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_ToJsonUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonUnion } from "../../../structures/ToJsonUnion"; + +export const test_llm_application_3_1_ToJsonUnion = _test_llm_application({ + model: "3.1", + name: "ToJsonUnion", +})(typia.llm.application()); + +interface ToJsonUnionApplication { + insert(first: ToJsonUnion): Promise; + reduce(first: ToJsonUnion, second: ToJsonUnion | null): Promise; + coalesce( + first: ToJsonUnion | null, + second: ToJsonUnion | null, + third?: ToJsonUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleHierarchical.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleHierarchical.ts new file mode 100644 index 0000000000..7832f8ec45 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleHierarchical.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleHierarchical } from "../../../structures/TupleHierarchical"; + +export const test_llm_application_3_1_TupleHierarchical = _test_llm_application( + { + model: "3.1", + name: "TupleHierarchical", + }, +)(typia.llm.application()); + +interface TupleHierarchicalApplication { + insert(first: TupleHierarchical): Promise; + reduce( + first: TupleHierarchical, + second: TupleHierarchical | null, + ): Promise; + coalesce( + first: TupleHierarchical | null, + second: TupleHierarchical | null, + third?: TupleHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestArray.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestArray.ts new file mode 100644 index 0000000000..2f1ecbdb3d --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleRestArray } from "../../../structures/TupleRestArray"; + +export const test_llm_application_3_1_TupleRestArray = _test_llm_application({ + model: "3.1", + name: "TupleRestArray", +})(typia.llm.application()); + +interface TupleRestArrayApplication { + insert(first: TupleRestArray): Promise; + reduce( + first: TupleRestArray, + second: TupleRestArray | null, + ): Promise; + coalesce( + first: TupleRestArray | null, + second: TupleRestArray | null, + third?: TupleRestArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestAtomic.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestAtomic.ts new file mode 100644 index 0000000000..c92501672b --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestAtomic.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleRestAtomic } from "../../../structures/TupleRestAtomic"; + +export const test_llm_application_3_1_TupleRestAtomic = _test_llm_application({ + model: "3.1", + name: "TupleRestAtomic", +})(typia.llm.application()); + +interface TupleRestAtomicApplication { + insert(first: TupleRestAtomic): Promise; + reduce( + first: TupleRestAtomic, + second: TupleRestAtomic | null, + ): Promise; + coalesce( + first: TupleRestAtomic | null, + second: TupleRestAtomic | null, + third?: TupleRestAtomic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestObject.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestObject.ts new file mode 100644 index 0000000000..cded6f6d58 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TupleRestObject.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TupleRestObject } from "../../../structures/TupleRestObject"; + +export const test_llm_application_3_1_TupleRestObject = _test_llm_application({ + model: "3.1", + name: "TupleRestObject", +})(typia.llm.application()); + +interface TupleRestObjectApplication { + insert(first: TupleRestObject): Promise; + reduce( + first: TupleRestObject, + second: TupleRestObject | null, + ): Promise; + coalesce( + first: TupleRestObject | null, + second: TupleRestObject | null, + third?: TupleRestObject | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagArray.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagArray.ts new file mode 100644 index 0000000000..026df9b0c2 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagArray } from "../../../structures/TypeTagArray"; + +export const test_llm_application_3_1_TypeTagArray = _test_llm_application({ + model: "3.1", + name: "TypeTagArray", +})(typia.llm.application()); + +interface TypeTagArrayApplication { + insert(first: TypeTagArray): Promise; + reduce( + first: TypeTagArray, + second: TypeTagArray | null, + ): Promise; + coalesce( + first: TypeTagArray | null, + second: TypeTagArray | null, + third?: TypeTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagArrayUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagArrayUnion.ts new file mode 100644 index 0000000000..9537c0dd69 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagArrayUnion.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagArrayUnion } from "../../../structures/TypeTagArrayUnion"; + +export const test_llm_application_3_1_TypeTagArrayUnion = _test_llm_application( + { + model: "3.1", + name: "TypeTagArrayUnion", + }, +)(typia.llm.application()); + +interface TypeTagArrayUnionApplication { + insert(first: TypeTagArrayUnion): Promise; + reduce( + first: TypeTagArrayUnion, + second: TypeTagArrayUnion | null, + ): Promise; + coalesce( + first: TypeTagArrayUnion | null, + second: TypeTagArrayUnion | null, + third?: TypeTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagAtomicUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagAtomicUnion.ts new file mode 100644 index 0000000000..3590417bb0 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagAtomicUnion } from "../../../structures/TypeTagAtomicUnion"; + +export const test_llm_application_3_1_TypeTagAtomicUnion = + _test_llm_application({ + model: "3.1", + name: "TypeTagAtomicUnion", + })(typia.llm.application()); + +interface TypeTagAtomicUnionApplication { + insert(first: TypeTagAtomicUnion): Promise; + reduce( + first: TypeTagAtomicUnion, + second: TypeTagAtomicUnion | null, + ): Promise; + coalesce( + first: TypeTagAtomicUnion | null, + second: TypeTagAtomicUnion | null, + third?: TypeTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagCustom.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagCustom.ts new file mode 100644 index 0000000000..e94f20a3d0 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagCustom.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagCustom } from "../../../structures/TypeTagCustom"; + +export const test_llm_application_3_1_TypeTagCustom = _test_llm_application({ + model: "3.1", + name: "TypeTagCustom", +})(typia.llm.application()); + +interface TypeTagCustomApplication { + insert(first: TypeTagCustom): Promise; + reduce( + first: TypeTagCustom, + second: TypeTagCustom | null, + ): Promise; + coalesce( + first: TypeTagCustom | null, + second: TypeTagCustom | null, + third?: TypeTagCustom | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagDefault.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagDefault.ts new file mode 100644 index 0000000000..cdf3f5bf89 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagDefault.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagDefault } from "../../../structures/TypeTagDefault"; + +export const test_llm_application_3_1_TypeTagDefault = _test_llm_application({ + model: "3.1", + name: "TypeTagDefault", +})(typia.llm.application()); + +interface TypeTagDefaultApplication { + insert(first: TypeTagDefault): Promise; + reduce( + first: TypeTagDefault, + second: TypeTagDefault | null, + ): Promise; + coalesce( + first: TypeTagDefault | null, + second: TypeTagDefault | null, + third?: TypeTagDefault | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagFormat.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagFormat.ts new file mode 100644 index 0000000000..ac8cd74d0f --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagFormat.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagFormat } from "../../../structures/TypeTagFormat"; + +export const test_llm_application_3_1_TypeTagFormat = _test_llm_application({ + model: "3.1", + name: "TypeTagFormat", +})(typia.llm.application()); + +interface TypeTagFormatApplication { + insert(first: TypeTagFormat): Promise; + reduce( + first: TypeTagFormat, + second: TypeTagFormat | null, + ): Promise; + coalesce( + first: TypeTagFormat | null, + second: TypeTagFormat | null, + third?: TypeTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagLength.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagLength.ts new file mode 100644 index 0000000000..8b8cf465e7 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagLength.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagLength } from "../../../structures/TypeTagLength"; + +export const test_llm_application_3_1_TypeTagLength = _test_llm_application({ + model: "3.1", + name: "TypeTagLength", +})(typia.llm.application()); + +interface TypeTagLengthApplication { + insert(first: TypeTagLength): Promise; + reduce( + first: TypeTagLength, + second: TypeTagLength | null, + ): Promise; + coalesce( + first: TypeTagLength | null, + second: TypeTagLength | null, + third?: TypeTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagMatrix.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagMatrix.ts new file mode 100644 index 0000000000..0ca66fd177 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagMatrix.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagMatrix } from "../../../structures/TypeTagMatrix"; + +export const test_llm_application_3_1_TypeTagMatrix = _test_llm_application({ + model: "3.1", + name: "TypeTagMatrix", +})(typia.llm.application()); + +interface TypeTagMatrixApplication { + insert(first: TypeTagMatrix): Promise; + reduce( + first: TypeTagMatrix, + second: TypeTagMatrix | null, + ): Promise; + coalesce( + first: TypeTagMatrix | null, + second: TypeTagMatrix | null, + third?: TypeTagMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagObjectUnion.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagObjectUnion.ts new file mode 100644 index 0000000000..5fd8839393 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagObjectUnion } from "../../../structures/TypeTagObjectUnion"; + +export const test_llm_application_3_1_TypeTagObjectUnion = + _test_llm_application({ + model: "3.1", + name: "TypeTagObjectUnion", + })(typia.llm.application()); + +interface TypeTagObjectUnionApplication { + insert(first: TypeTagObjectUnion): Promise; + reduce( + first: TypeTagObjectUnion, + second: TypeTagObjectUnion | null, + ): Promise; + coalesce( + first: TypeTagObjectUnion | null, + second: TypeTagObjectUnion | null, + third?: TypeTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagPattern.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagPattern.ts new file mode 100644 index 0000000000..69e41002f3 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagPattern.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagPattern } from "../../../structures/TypeTagPattern"; + +export const test_llm_application_3_1_TypeTagPattern = _test_llm_application({ + model: "3.1", + name: "TypeTagPattern", +})(typia.llm.application()); + +interface TypeTagPatternApplication { + insert(first: TypeTagPattern): Promise; + reduce( + first: TypeTagPattern, + second: TypeTagPattern | null, + ): Promise; + coalesce( + first: TypeTagPattern | null, + second: TypeTagPattern | null, + third?: TypeTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagRange.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagRange.ts new file mode 100644 index 0000000000..13fcbf3265 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagRange } from "../../../structures/TypeTagRange"; + +export const test_llm_application_3_1_TypeTagRange = _test_llm_application({ + model: "3.1", + name: "TypeTagRange", +})(typia.llm.application()); + +interface TypeTagRangeApplication { + insert(first: TypeTagRange): Promise; + reduce( + first: TypeTagRange, + second: TypeTagRange | null, + ): Promise; + coalesce( + first: TypeTagRange | null, + second: TypeTagRange | null, + third?: TypeTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagTuple.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagTuple.ts new file mode 100644 index 0000000000..5ad4a10696 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagTuple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagTuple } from "../../../structures/TypeTagTuple"; + +export const test_llm_application_3_1_TypeTagTuple = _test_llm_application({ + model: "3.1", + name: "TypeTagTuple", +})(typia.llm.application()); + +interface TypeTagTupleApplication { + insert(first: TypeTagTuple): Promise; + reduce( + first: TypeTagTuple, + second: TypeTagTuple | null, + ): Promise; + coalesce( + first: TypeTagTuple | null, + second: TypeTagTuple | null, + third?: TypeTagTuple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagType.ts b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagType.ts new file mode 100644 index 0000000000..5aebf4bbd8 --- /dev/null +++ b/test/src/features/llm.application/3.1/test_llm_application_3_1_TypeTagType.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagType } from "../../../structures/TypeTagType"; + +export const test_llm_application_3_1_TypeTagType = _test_llm_application({ + model: "3.1", + name: "TypeTagType", +})(typia.llm.application()); + +interface TypeTagTypeApplication { + insert(first: TypeTagType): Promise; + reduce(first: TypeTagType, second: TypeTagType | null): Promise; + coalesce( + first: TypeTagType | null, + second: TypeTagType | null, + third?: TypeTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayAny.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayAny.ts new file mode 100644 index 0000000000..896de2a9ee --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayAny.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAny } from "../../../structures/ArrayAny"; + +export const test_llm_application_chatgpt_ArrayAny = _test_llm_application({ + model: "chatgpt", + name: "ArrayAny", +})(typia.llm.application()); + +interface ArrayAnyApplication { + insert(first: ArrayAny): Promise; + reduce(first: ArrayAny, second: ArrayAny | null): Promise; + coalesce( + first: ArrayAny | null, + second: ArrayAny | null, + third?: ArrayAny | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayHierarchical.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayHierarchical.ts new file mode 100644 index 0000000000..9ac399db2f --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchical } from "../../../structures/ArrayHierarchical"; + +export const test_llm_application_chatgpt_ArrayHierarchical = + _test_llm_application({ + model: "chatgpt", + name: "ArrayHierarchical", + })(typia.llm.application()); + +interface ArrayHierarchicalApplication { + insert(first: ArrayHierarchical): Promise; + reduce( + first: ArrayHierarchical, + second: ArrayHierarchical | null, + ): Promise; + coalesce( + first: ArrayHierarchical | null, + second: ArrayHierarchical | null, + third?: ArrayHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayHierarchicalPointer.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayHierarchicalPointer.ts new file mode 100644 index 0000000000..59b988acdb --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayHierarchicalPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchicalPointer } from "../../../structures/ArrayHierarchicalPointer"; + +export const test_llm_application_chatgpt_ArrayHierarchicalPointer = + _test_llm_application({ + model: "chatgpt", + name: "ArrayHierarchicalPointer", + })(typia.llm.application()); + +interface ArrayHierarchicalPointerApplication { + insert(first: ArrayHierarchicalPointer): Promise; + reduce( + first: ArrayHierarchicalPointer, + second: ArrayHierarchicalPointer | null, + ): Promise; + coalesce( + first: ArrayHierarchicalPointer | null, + second: ArrayHierarchicalPointer | null, + third?: ArrayHierarchicalPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayMatrix.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayMatrix.ts new file mode 100644 index 0000000000..9b5ece8b73 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayMatrix.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayMatrix } from "../../../structures/ArrayMatrix"; + +export const test_llm_application_chatgpt_ArrayMatrix = _test_llm_application({ + model: "chatgpt", + name: "ArrayMatrix", +})(typia.llm.application()); + +interface ArrayMatrixApplication { + insert(first: ArrayMatrix): Promise; + reduce(first: ArrayMatrix, second: ArrayMatrix | null): Promise; + coalesce( + first: ArrayMatrix | null, + second: ArrayMatrix | null, + third?: ArrayMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursive.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursive.ts new file mode 100644 index 0000000000..3bb81553f8 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_llm_application_chatgpt_ArrayRecursive = + _test_llm_application({ + model: "chatgpt", + name: "ArrayRecursive", + })(typia.llm.application()); + +interface ArrayRecursiveApplication { + insert(first: ArrayRecursive): Promise; + reduce( + first: ArrayRecursive, + second: ArrayRecursive | null, + ): Promise; + coalesce( + first: ArrayRecursive | null, + second: ArrayRecursive | null, + third?: ArrayRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionExplicit.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionExplicit.ts new file mode 100644 index 0000000000..91768e750c --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionExplicit.ts @@ -0,0 +1,25 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionExplicit } from "../../../structures/ArrayRecursiveUnionExplicit"; + +export const test_llm_application_chatgpt_ArrayRecursiveUnionExplicit = + _test_llm_application({ + model: "chatgpt", + name: "ArrayRecursiveUnionExplicit", + })( + typia.llm.application(), + ); + +interface ArrayRecursiveUnionExplicitApplication { + insert(first: ArrayRecursiveUnionExplicit): Promise; + reduce( + first: ArrayRecursiveUnionExplicit, + second: ArrayRecursiveUnionExplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicit | null, + second: ArrayRecursiveUnionExplicit | null, + third?: ArrayRecursiveUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionExplicitPointer.ts new file mode 100644 index 0000000000..4322c8716a --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionExplicitPointer.ts @@ -0,0 +1,28 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionExplicitPointer } from "../../../structures/ArrayRecursiveUnionExplicitPointer"; + +export const test_llm_application_chatgpt_ArrayRecursiveUnionExplicitPointer = + _test_llm_application({ + model: "chatgpt", + name: "ArrayRecursiveUnionExplicitPointer", + })( + typia.llm.application< + ArrayRecursiveUnionExplicitPointerApplication, + "chatgpt" + >(), + ); + +interface ArrayRecursiveUnionExplicitPointerApplication { + insert(first: ArrayRecursiveUnionExplicitPointer): Promise; + reduce( + first: ArrayRecursiveUnionExplicitPointer, + second: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionExplicitPointer | null, + second: ArrayRecursiveUnionExplicitPointer | null, + third?: ArrayRecursiveUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionImplicit.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionImplicit.ts new file mode 100644 index 0000000000..80d7472279 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRecursiveUnionImplicit.ts @@ -0,0 +1,25 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursiveUnionImplicit } from "../../../structures/ArrayRecursiveUnionImplicit"; + +export const test_llm_application_chatgpt_ArrayRecursiveUnionImplicit = + _test_llm_application({ + model: "chatgpt", + name: "ArrayRecursiveUnionImplicit", + })( + typia.llm.application(), + ); + +interface ArrayRecursiveUnionImplicitApplication { + insert(first: ArrayRecursiveUnionImplicit): Promise; + reduce( + first: ArrayRecursiveUnionImplicit, + second: ArrayRecursiveUnionImplicit | null, + ): Promise; + coalesce( + first: ArrayRecursiveUnionImplicit | null, + second: ArrayRecursiveUnionImplicit | null, + third?: ArrayRecursiveUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedNullable.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedNullable.ts new file mode 100644 index 0000000000..e641add0a3 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable"; + +export const test_llm_application_chatgpt_ArrayRepeatedNullable = + _test_llm_application({ + model: "chatgpt", + name: "ArrayRepeatedNullable", + })(typia.llm.application()); + +interface ArrayRepeatedNullableApplication { + insert(first: ArrayRepeatedNullable): Promise; + reduce( + first: ArrayRepeatedNullable, + second: ArrayRepeatedNullable | null, + ): Promise; + coalesce( + first: ArrayRepeatedNullable | null, + second: ArrayRepeatedNullable | null, + third?: ArrayRepeatedNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedRequired.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedRequired.ts new file mode 100644 index 0000000000..55577e7fbc --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired"; + +export const test_llm_application_chatgpt_ArrayRepeatedRequired = + _test_llm_application({ + model: "chatgpt", + name: "ArrayRepeatedRequired", + })(typia.llm.application()); + +interface ArrayRepeatedRequiredApplication { + insert(first: ArrayRepeatedRequired): Promise; + reduce( + first: ArrayRepeatedRequired, + second: ArrayRepeatedRequired | null, + ): Promise; + coalesce( + first: ArrayRepeatedRequired | null, + second: ArrayRepeatedRequired | null, + third?: ArrayRepeatedRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedUnion.ts new file mode 100644 index 0000000000..a8c18d2015 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayRepeatedUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; + +export const test_llm_application_chatgpt_ArrayRepeatedUnion = + _test_llm_application({ + model: "chatgpt", + name: "ArrayRepeatedUnion", + })(typia.llm.application()); + +interface ArrayRepeatedUnionApplication { + insert(first: ArrayRepeatedUnion): Promise; + reduce( + first: ArrayRepeatedUnion, + second: ArrayRepeatedUnion | null, + ): Promise; + coalesce( + first: ArrayRepeatedUnion | null, + second: ArrayRepeatedUnion | null, + third?: ArrayRepeatedUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArraySimple.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArraySimple.ts new file mode 100644 index 0000000000..958da780be --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArraySimple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArraySimple } from "../../../structures/ArraySimple"; + +export const test_llm_application_chatgpt_ArraySimple = _test_llm_application({ + model: "chatgpt", + name: "ArraySimple", +})(typia.llm.application()); + +interface ArraySimpleApplication { + insert(first: ArraySimple): Promise; + reduce(first: ArraySimple, second: ArraySimple | null): Promise; + coalesce( + first: ArraySimple | null, + second: ArraySimple | null, + third?: ArraySimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayUnion.ts new file mode 100644 index 0000000000..edf31ba065 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ArrayUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayUnion } from "../../../structures/ArrayUnion"; + +export const test_llm_application_chatgpt_ArrayUnion = _test_llm_application({ + model: "chatgpt", + name: "ArrayUnion", +})(typia.llm.application()); + +interface ArrayUnionApplication { + insert(first: ArrayUnion): Promise; + reduce(first: ArrayUnion, second: ArrayUnion | null): Promise; + coalesce( + first: ArrayUnion | null, + second: ArrayUnion | null, + third?: ArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_AtomicUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_AtomicUnion.ts new file mode 100644 index 0000000000..dc7ad8ccf4 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_AtomicUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { AtomicUnion } from "../../../structures/AtomicUnion"; + +export const test_llm_application_chatgpt_AtomicUnion = _test_llm_application({ + model: "chatgpt", + name: "AtomicUnion", +})(typia.llm.application()); + +interface AtomicUnionApplication { + insert(first: AtomicUnion): Promise; + reduce(first: AtomicUnion, second: AtomicUnion | null): Promise; + coalesce( + first: AtomicUnion | null, + second: AtomicUnion | null, + third?: AtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassGetter.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassGetter.ts new file mode 100644 index 0000000000..6a23ff42eb --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassGetter.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassGetter } from "../../../structures/ClassGetter"; + +export const test_llm_application_chatgpt_ClassGetter = _test_llm_application({ + model: "chatgpt", + name: "ClassGetter", +})(typia.llm.application()); + +interface ClassGetterApplication { + insert(first: ClassGetter): Promise; + reduce(first: ClassGetter, second: ClassGetter | null): Promise; + coalesce( + first: ClassGetter | null, + second: ClassGetter | null, + third?: ClassGetter | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassMethod.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassMethod.ts new file mode 100644 index 0000000000..a9681eebd0 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassMethod.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassMethod } from "../../../structures/ClassMethod"; + +export const test_llm_application_chatgpt_ClassMethod = _test_llm_application({ + model: "chatgpt", + name: "ClassMethod", +})(typia.llm.application()); + +interface ClassMethodApplication { + insert(first: ClassMethod): Promise; + reduce(first: ClassMethod, second: ClassMethod | null): Promise; + coalesce( + first: ClassMethod | null, + second: ClassMethod | null, + third?: ClassMethod | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassPropertyAssignment.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassPropertyAssignment.ts new file mode 100644 index 0000000000..7759863ee2 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ClassPropertyAssignment.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassPropertyAssignment } from "../../../structures/ClassPropertyAssignment"; + +export const test_llm_application_chatgpt_ClassPropertyAssignment = + _test_llm_application({ + model: "chatgpt", + name: "ClassPropertyAssignment", + })(typia.llm.application()); + +interface ClassPropertyAssignmentApplication { + insert(first: ClassPropertyAssignment): Promise; + reduce( + first: ClassPropertyAssignment, + second: ClassPropertyAssignment | null, + ): Promise; + coalesce( + first: ClassPropertyAssignment | null, + second: ClassPropertyAssignment | null, + third?: ClassPropertyAssignment | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagArray.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagArray.ts new file mode 100644 index 0000000000..4aaa7d2fa8 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagArray } from "../../../structures/CommentTagArray"; + +export const test_llm_application_chatgpt_CommentTagArray = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagArray", + })(typia.llm.application()); + +interface CommentTagArrayApplication { + insert(first: CommentTagArray): Promise; + reduce( + first: CommentTagArray, + second: CommentTagArray | null, + ): Promise; + coalesce( + first: CommentTagArray | null, + second: CommentTagArray | null, + third?: CommentTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagArrayUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagArrayUnion.ts new file mode 100644 index 0000000000..a8afdafedf --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagArrayUnion } from "../../../structures/CommentTagArrayUnion"; + +export const test_llm_application_chatgpt_CommentTagArrayUnion = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagArrayUnion", + })(typia.llm.application()); + +interface CommentTagArrayUnionApplication { + insert(first: CommentTagArrayUnion): Promise; + reduce( + first: CommentTagArrayUnion, + second: CommentTagArrayUnion | null, + ): Promise; + coalesce( + first: CommentTagArrayUnion | null, + second: CommentTagArrayUnion | null, + third?: CommentTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagAtomicUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagAtomicUnion.ts new file mode 100644 index 0000000000..c2aafe86cd --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagAtomicUnion } from "../../../structures/CommentTagAtomicUnion"; + +export const test_llm_application_chatgpt_CommentTagAtomicUnion = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagAtomicUnion", + })(typia.llm.application()); + +interface CommentTagAtomicUnionApplication { + insert(first: CommentTagAtomicUnion): Promise; + reduce( + first: CommentTagAtomicUnion, + second: CommentTagAtomicUnion | null, + ): Promise; + coalesce( + first: CommentTagAtomicUnion | null, + second: CommentTagAtomicUnion | null, + third?: CommentTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagDefault.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagDefault.ts new file mode 100644 index 0000000000..bb5946965d --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagDefault.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagDefault } from "../../../structures/CommentTagDefault"; + +export const test_llm_application_chatgpt_CommentTagDefault = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagDefault", + })(typia.llm.application()); + +interface CommentTagDefaultApplication { + insert(first: CommentTagDefault): Promise; + reduce( + first: CommentTagDefault, + second: CommentTagDefault | null, + ): Promise; + coalesce( + first: CommentTagDefault | null, + second: CommentTagDefault | null, + third?: CommentTagDefault | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagFormat.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagFormat.ts new file mode 100644 index 0000000000..fd35a68c8d --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagFormat.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagFormat } from "../../../structures/CommentTagFormat"; + +export const test_llm_application_chatgpt_CommentTagFormat = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagFormat", + })(typia.llm.application()); + +interface CommentTagFormatApplication { + insert(first: CommentTagFormat): Promise; + reduce( + first: CommentTagFormat, + second: CommentTagFormat | null, + ): Promise; + coalesce( + first: CommentTagFormat | null, + second: CommentTagFormat | null, + third?: CommentTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagLength.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagLength.ts new file mode 100644 index 0000000000..fba777ba9c --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagLength.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagLength } from "../../../structures/CommentTagLength"; + +export const test_llm_application_chatgpt_CommentTagLength = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagLength", + })(typia.llm.application()); + +interface CommentTagLengthApplication { + insert(first: CommentTagLength): Promise; + reduce( + first: CommentTagLength, + second: CommentTagLength | null, + ): Promise; + coalesce( + first: CommentTagLength | null, + second: CommentTagLength | null, + third?: CommentTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagObjectUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagObjectUnion.ts new file mode 100644 index 0000000000..d4b8d83e4d --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagObjectUnion } from "../../../structures/CommentTagObjectUnion"; + +export const test_llm_application_chatgpt_CommentTagObjectUnion = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagObjectUnion", + })(typia.llm.application()); + +interface CommentTagObjectUnionApplication { + insert(first: CommentTagObjectUnion): Promise; + reduce( + first: CommentTagObjectUnion, + second: CommentTagObjectUnion | null, + ): Promise; + coalesce( + first: CommentTagObjectUnion | null, + second: CommentTagObjectUnion | null, + third?: CommentTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagPattern.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagPattern.ts new file mode 100644 index 0000000000..0f4a7c1d88 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagPattern.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagPattern } from "../../../structures/CommentTagPattern"; + +export const test_llm_application_chatgpt_CommentTagPattern = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagPattern", + })(typia.llm.application()); + +interface CommentTagPatternApplication { + insert(first: CommentTagPattern): Promise; + reduce( + first: CommentTagPattern, + second: CommentTagPattern | null, + ): Promise; + coalesce( + first: CommentTagPattern | null, + second: CommentTagPattern | null, + third?: CommentTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagRange.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagRange.ts new file mode 100644 index 0000000000..ca2b491252 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagRange.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagRange } from "../../../structures/CommentTagRange"; + +export const test_llm_application_chatgpt_CommentTagRange = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagRange", + })(typia.llm.application()); + +interface CommentTagRangeApplication { + insert(first: CommentTagRange): Promise; + reduce( + first: CommentTagRange, + second: CommentTagRange | null, + ): Promise; + coalesce( + first: CommentTagRange | null, + second: CommentTagRange | null, + third?: CommentTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagType.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagType.ts new file mode 100644 index 0000000000..1e3a3db9e7 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_CommentTagType.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagType } from "../../../structures/CommentTagType"; + +export const test_llm_application_chatgpt_CommentTagType = + _test_llm_application({ + model: "chatgpt", + name: "CommentTagType", + })(typia.llm.application()); + +interface CommentTagTypeApplication { + insert(first: CommentTagType): Promise; + reduce( + first: CommentTagType, + second: CommentTagType | null, + ): Promise; + coalesce( + first: CommentTagType | null, + second: CommentTagType | null, + third?: CommentTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicAbsorbed.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicAbsorbed.ts new file mode 100644 index 0000000000..24072baf23 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicAbsorbed.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicAbsorbed } from "../../../structures/ConstantAtomicAbsorbed"; + +export const test_llm_application_chatgpt_ConstantAtomicAbsorbed = + _test_llm_application({ + model: "chatgpt", + name: "ConstantAtomicAbsorbed", + })(typia.llm.application()); + +interface ConstantAtomicAbsorbedApplication { + insert(first: ConstantAtomicAbsorbed): Promise; + reduce( + first: ConstantAtomicAbsorbed, + second: ConstantAtomicAbsorbed | null, + ): Promise; + coalesce( + first: ConstantAtomicAbsorbed | null, + second: ConstantAtomicAbsorbed | null, + third?: ConstantAtomicAbsorbed | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicTagged.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicTagged.ts new file mode 100644 index 0000000000..0f53236e59 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicTagged.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicTagged } from "../../../structures/ConstantAtomicTagged"; + +export const test_llm_application_chatgpt_ConstantAtomicTagged = + _test_llm_application({ + model: "chatgpt", + name: "ConstantAtomicTagged", + })(typia.llm.application()); + +interface ConstantAtomicTaggedApplication { + insert(first: ConstantAtomicTagged): Promise; + reduce( + first: ConstantAtomicTagged, + second: ConstantAtomicTagged | null, + ): Promise; + coalesce( + first: ConstantAtomicTagged | null, + second: ConstantAtomicTagged | null, + third?: ConstantAtomicTagged | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicUnion.ts new file mode 100644 index 0000000000..13053236f0 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicUnion } from "../../../structures/ConstantAtomicUnion"; + +export const test_llm_application_chatgpt_ConstantAtomicUnion = + _test_llm_application({ + model: "chatgpt", + name: "ConstantAtomicUnion", + })(typia.llm.application()); + +interface ConstantAtomicUnionApplication { + insert(first: ConstantAtomicUnion): Promise; + reduce( + first: ConstantAtomicUnion, + second: ConstantAtomicUnion | null, + ): Promise; + coalesce( + first: ConstantAtomicUnion | null, + second: ConstantAtomicUnion | null, + third?: ConstantAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantConstEnumeration.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantConstEnumeration.ts new file mode 100644 index 0000000000..f6615d8184 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantConstEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantConstEnumeration } from "../../../structures/ConstantConstEnumeration"; + +export const test_llm_application_chatgpt_ConstantConstEnumeration = + _test_llm_application({ + model: "chatgpt", + name: "ConstantConstEnumeration", + })(typia.llm.application()); + +interface ConstantConstEnumerationApplication { + insert(first: ConstantConstEnumeration): Promise; + reduce( + first: ConstantConstEnumeration, + second: ConstantConstEnumeration | null, + ): Promise; + coalesce( + first: ConstantConstEnumeration | null, + second: ConstantConstEnumeration | null, + third?: ConstantConstEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantEnumeration.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantEnumeration.ts new file mode 100644 index 0000000000..d75f057c0c --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ConstantEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantEnumeration } from "../../../structures/ConstantEnumeration"; + +export const test_llm_application_chatgpt_ConstantEnumeration = + _test_llm_application({ + model: "chatgpt", + name: "ConstantEnumeration", + })(typia.llm.application()); + +interface ConstantEnumerationApplication { + insert(first: ConstantEnumeration): Promise; + reduce( + first: ConstantEnumeration, + second: ConstantEnumeration | null, + ): Promise; + coalesce( + first: ConstantEnumeration | null, + second: ConstantEnumeration | null, + third?: ConstantEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicArray.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicArray.ts new file mode 100644 index 0000000000..ee58da06a7 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicArray } from "../../../structures/DynamicArray"; + +export const test_llm_application_chatgpt_DynamicArray = _test_llm_application({ + model: "chatgpt", + name: "DynamicArray", +})(typia.llm.application()); + +interface DynamicArrayApplication { + insert(first: DynamicArray): Promise; + reduce( + first: DynamicArray, + second: DynamicArray | null, + ): Promise; + coalesce( + first: DynamicArray | null, + second: DynamicArray | null, + third?: DynamicArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicComposite.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicComposite.ts new file mode 100644 index 0000000000..bbcc892ca2 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicComposite } from "../../../structures/DynamicComposite"; + +export const test_llm_application_chatgpt_DynamicComposite = + _test_llm_application({ + model: "chatgpt", + name: "DynamicComposite", + })(typia.llm.application()); + +interface DynamicCompositeApplication { + insert(first: DynamicComposite): Promise; + reduce( + first: DynamicComposite, + second: DynamicComposite | null, + ): Promise; + coalesce( + first: DynamicComposite | null, + second: DynamicComposite | null, + third?: DynamicComposite | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicConstant.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicConstant.ts new file mode 100644 index 0000000000..4dbd5238a4 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicConstant } from "../../../structures/DynamicConstant"; + +export const test_llm_application_chatgpt_DynamicConstant = + _test_llm_application({ + model: "chatgpt", + name: "DynamicConstant", + })(typia.llm.application()); + +interface DynamicConstantApplication { + insert(first: DynamicConstant): Promise; + reduce( + first: DynamicConstant, + second: DynamicConstant | null, + ): Promise; + coalesce( + first: DynamicConstant | null, + second: DynamicConstant | null, + third?: DynamicConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicEnumeration.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicEnumeration.ts new file mode 100644 index 0000000000..d1cdae743e --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicEnumeration } from "../../../structures/DynamicEnumeration"; + +export const test_llm_application_chatgpt_DynamicEnumeration = + _test_llm_application({ + model: "chatgpt", + name: "DynamicEnumeration", + })(typia.llm.application()); + +interface DynamicEnumerationApplication { + insert(first: DynamicEnumeration): Promise; + reduce( + first: DynamicEnumeration, + second: DynamicEnumeration | null, + ): Promise; + coalesce( + first: DynamicEnumeration | null, + second: DynamicEnumeration | null, + third?: DynamicEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicNever.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicNever.ts new file mode 100644 index 0000000000..432370e279 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicNever.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicNever } from "../../../structures/DynamicNever"; + +export const test_llm_application_chatgpt_DynamicNever = _test_llm_application({ + model: "chatgpt", + name: "DynamicNever", +})(typia.llm.application()); + +interface DynamicNeverApplication { + insert(first: DynamicNever): Promise; + reduce( + first: DynamicNever, + second: DynamicNever | null, + ): Promise; + coalesce( + first: DynamicNever | null, + second: DynamicNever | null, + third?: DynamicNever | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicSimple.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicSimple.ts new file mode 100644 index 0000000000..66ba495ae1 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicSimple.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicSimple } from "../../../structures/DynamicSimple"; + +export const test_llm_application_chatgpt_DynamicSimple = _test_llm_application( + { + model: "chatgpt", + name: "DynamicSimple", + }, +)(typia.llm.application()); + +interface DynamicSimpleApplication { + insert(first: DynamicSimple): Promise; + reduce( + first: DynamicSimple, + second: DynamicSimple | null, + ): Promise; + coalesce( + first: DynamicSimple | null, + second: DynamicSimple | null, + third?: DynamicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicTemplate.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicTemplate.ts new file mode 100644 index 0000000000..5b9864bd9f --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicTemplate.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicTemplate } from "../../../structures/DynamicTemplate"; + +export const test_llm_application_chatgpt_DynamicTemplate = + _test_llm_application({ + model: "chatgpt", + name: "DynamicTemplate", + })(typia.llm.application()); + +interface DynamicTemplateApplication { + insert(first: DynamicTemplate): Promise; + reduce( + first: DynamicTemplate, + second: DynamicTemplate | null, + ): Promise; + coalesce( + first: DynamicTemplate | null, + second: DynamicTemplate | null, + third?: DynamicTemplate | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicTree.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicTree.ts new file mode 100644 index 0000000000..e696a07936 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicTree.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_llm_application_chatgpt_DynamicTree = _test_llm_application({ + model: "chatgpt", + name: "DynamicTree", +})(typia.llm.application()); + +interface DynamicTreeApplication { + insert(first: DynamicTree): Promise; + reduce(first: DynamicTree, second: DynamicTree | null): Promise; + coalesce( + first: DynamicTree | null, + second: DynamicTree | null, + third?: DynamicTree | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicUndefined.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicUndefined.ts new file mode 100644 index 0000000000..2bdcead56e --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicUndefined.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicUndefined } from "../../../structures/DynamicUndefined"; + +export const test_llm_application_chatgpt_DynamicUndefined = + _test_llm_application({ + model: "chatgpt", + name: "DynamicUndefined", + })(typia.llm.application()); + +interface DynamicUndefinedApplication { + insert(first: DynamicUndefined): Promise; + reduce( + first: DynamicUndefined, + second: DynamicUndefined | null, + ): Promise; + coalesce( + first: DynamicUndefined | null, + second: DynamicUndefined | null, + third?: DynamicUndefined | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicUnion.ts new file mode 100644 index 0000000000..f00917f10e --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_DynamicUnion.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicUnion } from "../../../structures/DynamicUnion"; + +export const test_llm_application_chatgpt_DynamicUnion = _test_llm_application({ + model: "chatgpt", + name: "DynamicUnion", +})(typia.llm.application()); + +interface DynamicUnionApplication { + insert(first: DynamicUnion): Promise; + reduce( + first: DynamicUnion, + second: DynamicUnion | null, + ): Promise; + coalesce( + first: DynamicUnion | null, + second: DynamicUnion | null, + third?: DynamicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectAlias.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectAlias.ts new file mode 100644 index 0000000000..d39ebe5477 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectAlias.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectAlias } from "../../../structures/ObjectAlias"; + +export const test_llm_application_chatgpt_ObjectAlias = _test_llm_application({ + model: "chatgpt", + name: "ObjectAlias", +})(typia.llm.application()); + +interface ObjectAliasApplication { + insert(first: ObjectAlias): Promise; + reduce(first: ObjectAlias, second: ObjectAlias | null): Promise; + coalesce( + first: ObjectAlias | null, + second: ObjectAlias | null, + third?: ObjectAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDate.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDate.ts new file mode 100644 index 0000000000..05cd05b4ce --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDate.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDate } from "../../../structures/ObjectDate"; + +export const test_llm_application_chatgpt_ObjectDate = _test_llm_application({ + model: "chatgpt", + name: "ObjectDate", +})(typia.llm.application()); + +interface ObjectDateApplication { + insert(first: ObjectDate): Promise; + reduce(first: ObjectDate, second: ObjectDate | null): Promise; + coalesce( + first: ObjectDate | null, + second: ObjectDate | null, + third?: ObjectDate | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDescription.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDescription.ts new file mode 100644 index 0000000000..d919843465 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDescription.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDescription } from "../../../structures/ObjectDescription"; + +export const test_llm_application_chatgpt_ObjectDescription = + _test_llm_application({ + model: "chatgpt", + name: "ObjectDescription", + })(typia.llm.application()); + +interface ObjectDescriptionApplication { + insert(first: ObjectDescription): Promise; + reduce( + first: ObjectDescription, + second: ObjectDescription | null, + ): Promise; + coalesce( + first: ObjectDescription | null, + second: ObjectDescription | null, + third?: ObjectDescription | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDynamic.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDynamic.ts new file mode 100644 index 0000000000..2c1c3a4378 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectDynamic.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDynamic } from "../../../structures/ObjectDynamic"; + +export const test_llm_application_chatgpt_ObjectDynamic = _test_llm_application( + { + model: "chatgpt", + name: "ObjectDynamic", + }, +)(typia.llm.application()); + +interface ObjectDynamicApplication { + insert(first: ObjectDynamic): Promise; + reduce( + first: ObjectDynamic, + second: ObjectDynamic | null, + ): Promise; + coalesce( + first: ObjectDynamic | null, + second: ObjectDynamic | null, + third?: ObjectDynamic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericAlias.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericAlias.ts new file mode 100644 index 0000000000..20c990f038 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericAlias } from "../../../structures/ObjectGenericAlias"; + +export const test_llm_application_chatgpt_ObjectGenericAlias = + _test_llm_application({ + model: "chatgpt", + name: "ObjectGenericAlias", + })(typia.llm.application()); + +interface ObjectGenericAliasApplication { + insert(first: ObjectGenericAlias): Promise; + reduce( + first: ObjectGenericAlias, + second: ObjectGenericAlias | null, + ): Promise; + coalesce( + first: ObjectGenericAlias | null, + second: ObjectGenericAlias | null, + third?: ObjectGenericAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericArray.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericArray.ts new file mode 100644 index 0000000000..1c9dce4a2e --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericArray } from "../../../structures/ObjectGenericArray"; + +export const test_llm_application_chatgpt_ObjectGenericArray = + _test_llm_application({ + model: "chatgpt", + name: "ObjectGenericArray", + })(typia.llm.application()); + +interface ObjectGenericArrayApplication { + insert(first: ObjectGenericArray): Promise; + reduce( + first: ObjectGenericArray, + second: ObjectGenericArray | null, + ): Promise; + coalesce( + first: ObjectGenericArray | null, + second: ObjectGenericArray | null, + third?: ObjectGenericArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericUnion.ts new file mode 100644 index 0000000000..86342e69d5 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectGenericUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericUnion } from "../../../structures/ObjectGenericUnion"; + +export const test_llm_application_chatgpt_ObjectGenericUnion = + _test_llm_application({ + model: "chatgpt", + name: "ObjectGenericUnion", + })(typia.llm.application()); + +interface ObjectGenericUnionApplication { + insert(first: ObjectGenericUnion): Promise; + reduce( + first: ObjectGenericUnion, + second: ObjectGenericUnion | null, + ): Promise; + coalesce( + first: ObjectGenericUnion | null, + second: ObjectGenericUnion | null, + third?: ObjectGenericUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectInternal.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectInternal.ts new file mode 100644 index 0000000000..60bb09f2fc --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectInternal.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectInternal } from "../../../structures/ObjectInternal"; + +export const test_llm_application_chatgpt_ObjectInternal = + _test_llm_application({ + model: "chatgpt", + name: "ObjectInternal", + })(typia.llm.application()); + +interface ObjectInternalApplication { + insert(first: ObjectInternal): Promise; + reduce( + first: ObjectInternal, + second: ObjectInternal | null, + ): Promise; + coalesce( + first: ObjectInternal | null, + second: ObjectInternal | null, + third?: ObjectInternal | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectIntersection.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectIntersection.ts new file mode 100644 index 0000000000..6a6a4893c4 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectIntersection } from "../../../structures/ObjectIntersection"; + +export const test_llm_application_chatgpt_ObjectIntersection = + _test_llm_application({ + model: "chatgpt", + name: "ObjectIntersection", + })(typia.llm.application()); + +interface ObjectIntersectionApplication { + insert(first: ObjectIntersection): Promise; + reduce( + first: ObjectIntersection, + second: ObjectIntersection | null, + ): Promise; + coalesce( + first: ObjectIntersection | null, + second: ObjectIntersection | null, + third?: ObjectIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectJsonTag.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectJsonTag.ts new file mode 100644 index 0000000000..c9f7dc6b90 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectJsonTag.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectJsonTag } from "../../../structures/ObjectJsonTag"; + +export const test_llm_application_chatgpt_ObjectJsonTag = _test_llm_application( + { + model: "chatgpt", + name: "ObjectJsonTag", + }, +)(typia.llm.application()); + +interface ObjectJsonTagApplication { + insert(first: ObjectJsonTag): Promise; + reduce( + first: ObjectJsonTag, + second: ObjectJsonTag | null, + ): Promise; + coalesce( + first: ObjectJsonTag | null, + second: ObjectJsonTag | null, + third?: ObjectJsonTag | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectLiteralProperty.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectLiteralProperty.ts new file mode 100644 index 0000000000..032de75e1a --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectLiteralProperty.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralProperty } from "../../../structures/ObjectLiteralProperty"; + +export const test_llm_application_chatgpt_ObjectLiteralProperty = + _test_llm_application({ + model: "chatgpt", + name: "ObjectLiteralProperty", + })(typia.llm.application()); + +interface ObjectLiteralPropertyApplication { + insert(first: ObjectLiteralProperty): Promise; + reduce( + first: ObjectLiteralProperty, + second: ObjectLiteralProperty | null, + ): Promise; + coalesce( + first: ObjectLiteralProperty | null, + second: ObjectLiteralProperty | null, + third?: ObjectLiteralProperty | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectLiteralType.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectLiteralType.ts new file mode 100644 index 0000000000..454aa05538 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectLiteralType.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralType } from "../../../structures/ObjectLiteralType"; + +export const test_llm_application_chatgpt_ObjectLiteralType = + _test_llm_application({ + model: "chatgpt", + name: "ObjectLiteralType", + })(typia.llm.application()); + +interface ObjectLiteralTypeApplication { + insert(first: ObjectLiteralType): Promise; + reduce( + first: ObjectLiteralType, + second: ObjectLiteralType | null, + ): Promise; + coalesce( + first: ObjectLiteralType | null, + second: ObjectLiteralType | null, + third?: ObjectLiteralType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectNullable.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectNullable.ts new file mode 100644 index 0000000000..0802089b1a --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectNullable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectNullable } from "../../../structures/ObjectNullable"; + +export const test_llm_application_chatgpt_ObjectNullable = + _test_llm_application({ + model: "chatgpt", + name: "ObjectNullable", + })(typia.llm.application()); + +interface ObjectNullableApplication { + insert(first: ObjectNullable): Promise; + reduce( + first: ObjectNullable, + second: ObjectNullable | null, + ): Promise; + coalesce( + first: ObjectNullable | null, + second: ObjectNullable | null, + third?: ObjectNullable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectOptional.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectOptional.ts new file mode 100644 index 0000000000..7455c8d997 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectOptional.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectOptional } from "../../../structures/ObjectOptional"; + +export const test_llm_application_chatgpt_ObjectOptional = + _test_llm_application({ + model: "chatgpt", + name: "ObjectOptional", + })(typia.llm.application()); + +interface ObjectOptionalApplication { + insert(first: ObjectOptional): Promise; + reduce( + first: ObjectOptional, + second: ObjectOptional | null, + ): Promise; + coalesce( + first: ObjectOptional | null, + second: ObjectOptional | null, + third?: ObjectOptional | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPartial.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPartial.ts new file mode 100644 index 0000000000..d58fd02148 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPartial.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_llm_application_chatgpt_ObjectPartial = _test_llm_application( + { + model: "chatgpt", + name: "ObjectPartial", + }, +)(typia.llm.application()); + +interface ObjectPartialApplication { + insert(first: ObjectPartial): Promise; + reduce( + first: ObjectPartial, + second: ObjectPartial | null, + ): Promise; + coalesce( + first: ObjectPartial | null, + second: ObjectPartial | null, + third?: ObjectPartial | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPartialAndRequired.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..b2eedcd36a --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPartialAndRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_llm_application_chatgpt_ObjectPartialAndRequired = + _test_llm_application({ + model: "chatgpt", + name: "ObjectPartialAndRequired", + })(typia.llm.application()); + +interface ObjectPartialAndRequiredApplication { + insert(first: ObjectPartialAndRequired): Promise; + reduce( + first: ObjectPartialAndRequired, + second: ObjectPartialAndRequired | null, + ): Promise; + coalesce( + first: ObjectPartialAndRequired | null, + second: ObjectPartialAndRequired | null, + third?: ObjectPartialAndRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPrimitive.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPrimitive.ts new file mode 100644 index 0000000000..179468b045 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectPrimitive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPrimitive } from "../../../structures/ObjectPrimitive"; + +export const test_llm_application_chatgpt_ObjectPrimitive = + _test_llm_application({ + model: "chatgpt", + name: "ObjectPrimitive", + })(typia.llm.application()); + +interface ObjectPrimitiveApplication { + insert(first: ObjectPrimitive): Promise; + reduce( + first: ObjectPrimitive, + second: ObjectPrimitive | null, + ): Promise; + coalesce( + first: ObjectPrimitive | null, + second: ObjectPrimitive | null, + third?: ObjectPrimitive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectRecursive.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectRecursive.ts new file mode 100644 index 0000000000..ac9021efa6 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectRecursive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_llm_application_chatgpt_ObjectRecursive = + _test_llm_application({ + model: "chatgpt", + name: "ObjectRecursive", + })(typia.llm.application()); + +interface ObjectRecursiveApplication { + insert(first: ObjectRecursive): Promise; + reduce( + first: ObjectRecursive, + second: ObjectRecursive | null, + ): Promise; + coalesce( + first: ObjectRecursive | null, + second: ObjectRecursive | null, + third?: ObjectRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectRequired.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectRequired.ts new file mode 100644 index 0000000000..12a62b7b8e --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_llm_application_chatgpt_ObjectRequired = + _test_llm_application({ + model: "chatgpt", + name: "ObjectRequired", + })(typia.llm.application()); + +interface ObjectRequiredApplication { + insert(first: ObjectRequired): Promise; + reduce( + first: ObjectRequired, + second: ObjectRequired | null, + ): Promise; + coalesce( + first: ObjectRequired | null, + second: ObjectRequired | null, + third?: ObjectRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectSimple.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectSimple.ts new file mode 100644 index 0000000000..47699a8d2e --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectSimple } from "../../../structures/ObjectSimple"; + +export const test_llm_application_chatgpt_ObjectSimple = _test_llm_application({ + model: "chatgpt", + name: "ObjectSimple", +})(typia.llm.application()); + +interface ObjectSimpleApplication { + insert(first: ObjectSimple): Promise; + reduce( + first: ObjectSimple, + second: ObjectSimple | null, + ): Promise; + coalesce( + first: ObjectSimple | null, + second: ObjectSimple | null, + third?: ObjectSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUndefined.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUndefined.ts new file mode 100644 index 0000000000..9b591fb268 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUndefined.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUndefined } from "../../../structures/ObjectUndefined"; + +export const test_llm_application_chatgpt_ObjectUndefined = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUndefined", + })(typia.llm.application()); + +interface ObjectUndefinedApplication { + insert(first: ObjectUndefined): Promise; + reduce( + first: ObjectUndefined, + second: ObjectUndefined | null, + ): Promise; + coalesce( + first: ObjectUndefined | null, + second: ObjectUndefined | null, + third?: ObjectUndefined | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionComposite.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionComposite.ts new file mode 100644 index 0000000000..1cd0c2f422 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionComposite.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionComposite } from "../../../structures/ObjectUnionComposite"; + +export const test_llm_application_chatgpt_ObjectUnionComposite = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUnionComposite", + })(typia.llm.application()); + +interface ObjectUnionCompositeApplication { + insert(first: ObjectUnionComposite): Promise; + reduce( + first: ObjectUnionComposite, + second: ObjectUnionComposite | null, + ): Promise; + coalesce( + first: ObjectUnionComposite | null, + second: ObjectUnionComposite | null, + third?: ObjectUnionComposite | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionCompositePointer.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionCompositePointer.ts new file mode 100644 index 0000000000..01f3f9cb8b --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionCompositePointer.ts @@ -0,0 +1,25 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionCompositePointer } from "../../../structures/ObjectUnionCompositePointer"; + +export const test_llm_application_chatgpt_ObjectUnionCompositePointer = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUnionCompositePointer", + })( + typia.llm.application(), + ); + +interface ObjectUnionCompositePointerApplication { + insert(first: ObjectUnionCompositePointer): Promise; + reduce( + first: ObjectUnionCompositePointer, + second: ObjectUnionCompositePointer | null, + ): Promise; + coalesce( + first: ObjectUnionCompositePointer | null, + second: ObjectUnionCompositePointer | null, + third?: ObjectUnionCompositePointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionDouble.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionDouble.ts new file mode 100644 index 0000000000..3a289c076d --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionDouble.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionDouble } from "../../../structures/ObjectUnionDouble"; + +export const test_llm_application_chatgpt_ObjectUnionDouble = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUnionDouble", + })(typia.llm.application()); + +interface ObjectUnionDoubleApplication { + insert(first: ObjectUnionDouble): Promise; + reduce( + first: ObjectUnionDouble, + second: ObjectUnionDouble | null, + ): Promise; + coalesce( + first: ObjectUnionDouble | null, + second: ObjectUnionDouble | null, + third?: ObjectUnionDouble | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionExplicit.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionExplicit.ts new file mode 100644 index 0000000000..8bb932844a --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionExplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionExplicit } from "../../../structures/ObjectUnionExplicit"; + +export const test_llm_application_chatgpt_ObjectUnionExplicit = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUnionExplicit", + })(typia.llm.application()); + +interface ObjectUnionExplicitApplication { + insert(first: ObjectUnionExplicit): Promise; + reduce( + first: ObjectUnionExplicit, + second: ObjectUnionExplicit | null, + ): Promise; + coalesce( + first: ObjectUnionExplicit | null, + second: ObjectUnionExplicit | null, + third?: ObjectUnionExplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionExplicitPointer.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionExplicitPointer.ts new file mode 100644 index 0000000000..050e400401 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionExplicitPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionExplicitPointer } from "../../../structures/ObjectUnionExplicitPointer"; + +export const test_llm_application_chatgpt_ObjectUnionExplicitPointer = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUnionExplicitPointer", + })(typia.llm.application()); + +interface ObjectUnionExplicitPointerApplication { + insert(first: ObjectUnionExplicitPointer): Promise; + reduce( + first: ObjectUnionExplicitPointer, + second: ObjectUnionExplicitPointer | null, + ): Promise; + coalesce( + first: ObjectUnionExplicitPointer | null, + second: ObjectUnionExplicitPointer | null, + third?: ObjectUnionExplicitPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionImplicit.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionImplicit.ts new file mode 100644 index 0000000000..2202252fa0 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionImplicit.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionImplicit } from "../../../structures/ObjectUnionImplicit"; + +export const test_llm_application_chatgpt_ObjectUnionImplicit = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUnionImplicit", + })(typia.llm.application()); + +interface ObjectUnionImplicitApplication { + insert(first: ObjectUnionImplicit): Promise; + reduce( + first: ObjectUnionImplicit, + second: ObjectUnionImplicit | null, + ): Promise; + coalesce( + first: ObjectUnionImplicit | null, + second: ObjectUnionImplicit | null, + third?: ObjectUnionImplicit | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionNonPredictable.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionNonPredictable.ts new file mode 100644 index 0000000000..d2636aa889 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ObjectUnionNonPredictable.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectUnionNonPredictable } from "../../../structures/ObjectUnionNonPredictable"; + +export const test_llm_application_chatgpt_ObjectUnionNonPredictable = + _test_llm_application({ + model: "chatgpt", + name: "ObjectUnionNonPredictable", + })(typia.llm.application()); + +interface ObjectUnionNonPredictableApplication { + insert(first: ObjectUnionNonPredictable): Promise; + reduce( + first: ObjectUnionNonPredictable, + second: ObjectUnionNonPredictable | null, + ): Promise; + coalesce( + first: ObjectUnionNonPredictable | null, + second: ObjectUnionNonPredictable | null, + third?: ObjectUnionNonPredictable | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateAtomic.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateAtomic.ts new file mode 100644 index 0000000000..6ec52145d2 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateAtomic.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateAtomic } from "../../../structures/TemplateAtomic"; + +export const test_llm_application_chatgpt_TemplateAtomic = + _test_llm_application({ + model: "chatgpt", + name: "TemplateAtomic", + })(typia.llm.application()); + +interface TemplateAtomicApplication { + insert(first: TemplateAtomic): Promise; + reduce( + first: TemplateAtomic, + second: TemplateAtomic | null, + ): Promise; + coalesce( + first: TemplateAtomic | null, + second: TemplateAtomic | null, + third?: TemplateAtomic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateConstant.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateConstant.ts new file mode 100644 index 0000000000..b7f669cc75 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateConstant } from "../../../structures/TemplateConstant"; + +export const test_llm_application_chatgpt_TemplateConstant = + _test_llm_application({ + model: "chatgpt", + name: "TemplateConstant", + })(typia.llm.application()); + +interface TemplateConstantApplication { + insert(first: TemplateConstant): Promise; + reduce( + first: TemplateConstant, + second: TemplateConstant | null, + ): Promise; + coalesce( + first: TemplateConstant | null, + second: TemplateConstant | null, + third?: TemplateConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateUnion.ts new file mode 100644 index 0000000000..dc55943c46 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TemplateUnion.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateUnion } from "../../../structures/TemplateUnion"; + +export const test_llm_application_chatgpt_TemplateUnion = _test_llm_application( + { + model: "chatgpt", + name: "TemplateUnion", + }, +)(typia.llm.application()); + +interface TemplateUnionApplication { + insert(first: TemplateUnion): Promise; + reduce( + first: TemplateUnion, + second: TemplateUnion | null, + ): Promise; + coalesce( + first: TemplateUnion | null, + second: TemplateUnion | null, + third?: TemplateUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonAtomicUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonAtomicUnion.ts new file mode 100644 index 0000000000..5e82f8192c --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonAtomicUnion } from "../../../structures/ToJsonAtomicUnion"; + +export const test_llm_application_chatgpt_ToJsonAtomicUnion = + _test_llm_application({ + model: "chatgpt", + name: "ToJsonAtomicUnion", + })(typia.llm.application()); + +interface ToJsonAtomicUnionApplication { + insert(first: ToJsonAtomicUnion): Promise; + reduce( + first: ToJsonAtomicUnion, + second: ToJsonAtomicUnion | null, + ): Promise; + coalesce( + first: ToJsonAtomicUnion | null, + second: ToJsonAtomicUnion | null, + third?: ToJsonAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonDouble.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonDouble.ts new file mode 100644 index 0000000000..f1d9bddf58 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonDouble.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonDouble } from "../../../structures/ToJsonDouble"; + +export const test_llm_application_chatgpt_ToJsonDouble = _test_llm_application({ + model: "chatgpt", + name: "ToJsonDouble", +})(typia.llm.application()); + +interface ToJsonDoubleApplication { + insert(first: ToJsonDouble): Promise; + reduce( + first: ToJsonDouble, + second: ToJsonDouble | null, + ): Promise; + coalesce( + first: ToJsonDouble | null, + second: ToJsonDouble | null, + third?: ToJsonDouble | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonNull.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonNull.ts new file mode 100644 index 0000000000..1b27596472 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonNull.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonNull } from "../../../structures/ToJsonNull"; + +export const test_llm_application_chatgpt_ToJsonNull = _test_llm_application({ + model: "chatgpt", + name: "ToJsonNull", +})(typia.llm.application()); + +interface ToJsonNullApplication { + insert(first: ToJsonNull): Promise; + reduce(first: ToJsonNull, second: ToJsonNull | null): Promise; + coalesce( + first: ToJsonNull | null, + second: ToJsonNull | null, + third?: ToJsonNull | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonUnion.ts new file mode 100644 index 0000000000..278b26bd18 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_ToJsonUnion.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonUnion } from "../../../structures/ToJsonUnion"; + +export const test_llm_application_chatgpt_ToJsonUnion = _test_llm_application({ + model: "chatgpt", + name: "ToJsonUnion", +})(typia.llm.application()); + +interface ToJsonUnionApplication { + insert(first: ToJsonUnion): Promise; + reduce(first: ToJsonUnion, second: ToJsonUnion | null): Promise; + coalesce( + first: ToJsonUnion | null, + second: ToJsonUnion | null, + third?: ToJsonUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagArray.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagArray.ts new file mode 100644 index 0000000000..045f96276b --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagArray } from "../../../structures/TypeTagArray"; + +export const test_llm_application_chatgpt_TypeTagArray = _test_llm_application({ + model: "chatgpt", + name: "TypeTagArray", +})(typia.llm.application()); + +interface TypeTagArrayApplication { + insert(first: TypeTagArray): Promise; + reduce( + first: TypeTagArray, + second: TypeTagArray | null, + ): Promise; + coalesce( + first: TypeTagArray | null, + second: TypeTagArray | null, + third?: TypeTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagArrayUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagArrayUnion.ts new file mode 100644 index 0000000000..004de9d800 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagArrayUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagArrayUnion } from "../../../structures/TypeTagArrayUnion"; + +export const test_llm_application_chatgpt_TypeTagArrayUnion = + _test_llm_application({ + model: "chatgpt", + name: "TypeTagArrayUnion", + })(typia.llm.application()); + +interface TypeTagArrayUnionApplication { + insert(first: TypeTagArrayUnion): Promise; + reduce( + first: TypeTagArrayUnion, + second: TypeTagArrayUnion | null, + ): Promise; + coalesce( + first: TypeTagArrayUnion | null, + second: TypeTagArrayUnion | null, + third?: TypeTagArrayUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagAtomicUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagAtomicUnion.ts new file mode 100644 index 0000000000..bc5b80e99f --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagAtomicUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagAtomicUnion } from "../../../structures/TypeTagAtomicUnion"; + +export const test_llm_application_chatgpt_TypeTagAtomicUnion = + _test_llm_application({ + model: "chatgpt", + name: "TypeTagAtomicUnion", + })(typia.llm.application()); + +interface TypeTagAtomicUnionApplication { + insert(first: TypeTagAtomicUnion): Promise; + reduce( + first: TypeTagAtomicUnion, + second: TypeTagAtomicUnion | null, + ): Promise; + coalesce( + first: TypeTagAtomicUnion | null, + second: TypeTagAtomicUnion | null, + third?: TypeTagAtomicUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagCustom.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagCustom.ts new file mode 100644 index 0000000000..71bd90510d --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagCustom.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagCustom } from "../../../structures/TypeTagCustom"; + +export const test_llm_application_chatgpt_TypeTagCustom = _test_llm_application( + { + model: "chatgpt", + name: "TypeTagCustom", + }, +)(typia.llm.application()); + +interface TypeTagCustomApplication { + insert(first: TypeTagCustom): Promise; + reduce( + first: TypeTagCustom, + second: TypeTagCustom | null, + ): Promise; + coalesce( + first: TypeTagCustom | null, + second: TypeTagCustom | null, + third?: TypeTagCustom | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagDefault.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagDefault.ts new file mode 100644 index 0000000000..26abfccf92 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagDefault.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagDefault } from "../../../structures/TypeTagDefault"; + +export const test_llm_application_chatgpt_TypeTagDefault = + _test_llm_application({ + model: "chatgpt", + name: "TypeTagDefault", + })(typia.llm.application()); + +interface TypeTagDefaultApplication { + insert(first: TypeTagDefault): Promise; + reduce( + first: TypeTagDefault, + second: TypeTagDefault | null, + ): Promise; + coalesce( + first: TypeTagDefault | null, + second: TypeTagDefault | null, + third?: TypeTagDefault | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagFormat.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagFormat.ts new file mode 100644 index 0000000000..10252f283c --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagFormat.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagFormat } from "../../../structures/TypeTagFormat"; + +export const test_llm_application_chatgpt_TypeTagFormat = _test_llm_application( + { + model: "chatgpt", + name: "TypeTagFormat", + }, +)(typia.llm.application()); + +interface TypeTagFormatApplication { + insert(first: TypeTagFormat): Promise; + reduce( + first: TypeTagFormat, + second: TypeTagFormat | null, + ): Promise; + coalesce( + first: TypeTagFormat | null, + second: TypeTagFormat | null, + third?: TypeTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagLength.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagLength.ts new file mode 100644 index 0000000000..96a78ae244 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagLength.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagLength } from "../../../structures/TypeTagLength"; + +export const test_llm_application_chatgpt_TypeTagLength = _test_llm_application( + { + model: "chatgpt", + name: "TypeTagLength", + }, +)(typia.llm.application()); + +interface TypeTagLengthApplication { + insert(first: TypeTagLength): Promise; + reduce( + first: TypeTagLength, + second: TypeTagLength | null, + ): Promise; + coalesce( + first: TypeTagLength | null, + second: TypeTagLength | null, + third?: TypeTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagMatrix.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagMatrix.ts new file mode 100644 index 0000000000..4032572fbf --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagMatrix.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagMatrix } from "../../../structures/TypeTagMatrix"; + +export const test_llm_application_chatgpt_TypeTagMatrix = _test_llm_application( + { + model: "chatgpt", + name: "TypeTagMatrix", + }, +)(typia.llm.application()); + +interface TypeTagMatrixApplication { + insert(first: TypeTagMatrix): Promise; + reduce( + first: TypeTagMatrix, + second: TypeTagMatrix | null, + ): Promise; + coalesce( + first: TypeTagMatrix | null, + second: TypeTagMatrix | null, + third?: TypeTagMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagObjectUnion.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagObjectUnion.ts new file mode 100644 index 0000000000..8cbab83cf3 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagObjectUnion.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagObjectUnion } from "../../../structures/TypeTagObjectUnion"; + +export const test_llm_application_chatgpt_TypeTagObjectUnion = + _test_llm_application({ + model: "chatgpt", + name: "TypeTagObjectUnion", + })(typia.llm.application()); + +interface TypeTagObjectUnionApplication { + insert(first: TypeTagObjectUnion): Promise; + reduce( + first: TypeTagObjectUnion, + second: TypeTagObjectUnion | null, + ): Promise; + coalesce( + first: TypeTagObjectUnion | null, + second: TypeTagObjectUnion | null, + third?: TypeTagObjectUnion | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagPattern.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagPattern.ts new file mode 100644 index 0000000000..8f53f6f0b8 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagPattern.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagPattern } from "../../../structures/TypeTagPattern"; + +export const test_llm_application_chatgpt_TypeTagPattern = + _test_llm_application({ + model: "chatgpt", + name: "TypeTagPattern", + })(typia.llm.application()); + +interface TypeTagPatternApplication { + insert(first: TypeTagPattern): Promise; + reduce( + first: TypeTagPattern, + second: TypeTagPattern | null, + ): Promise; + coalesce( + first: TypeTagPattern | null, + second: TypeTagPattern | null, + third?: TypeTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagRange.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagRange.ts new file mode 100644 index 0000000000..89652494eb --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagRange } from "../../../structures/TypeTagRange"; + +export const test_llm_application_chatgpt_TypeTagRange = _test_llm_application({ + model: "chatgpt", + name: "TypeTagRange", +})(typia.llm.application()); + +interface TypeTagRangeApplication { + insert(first: TypeTagRange): Promise; + reduce( + first: TypeTagRange, + second: TypeTagRange | null, + ): Promise; + coalesce( + first: TypeTagRange | null, + second: TypeTagRange | null, + third?: TypeTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagType.ts b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagType.ts new file mode 100644 index 0000000000..dd0a6ad5a0 --- /dev/null +++ b/test/src/features/llm.application/chatgpt/test_llm_application_chatgpt_TypeTagType.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagType } from "../../../structures/TypeTagType"; + +export const test_llm_application_chatgpt_TypeTagType = _test_llm_application({ + model: "chatgpt", + name: "TypeTagType", +})(typia.llm.application()); + +interface TypeTagTypeApplication { + insert(first: TypeTagType): Promise; + reduce(first: TypeTagType, second: TypeTagType | null): Promise; + coalesce( + first: TypeTagType | null, + second: TypeTagType | null, + third?: TypeTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayAny.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayAny.ts new file mode 100644 index 0000000000..857e4e8f9d --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayAny.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayAny } from "../../../structures/ArrayAny"; + +export const test_llm_application_gemini_ArrayAny = _test_llm_application({ + model: "gemini", + name: "ArrayAny", +})(typia.llm.application()); + +interface ArrayAnyApplication { + insert(first: ArrayAny): Promise; + reduce(first: ArrayAny, second: ArrayAny | null): Promise; + coalesce( + first: ArrayAny | null, + second: ArrayAny | null, + third?: ArrayAny | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayHierarchical.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayHierarchical.ts new file mode 100644 index 0000000000..236f326d08 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayHierarchical.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchical } from "../../../structures/ArrayHierarchical"; + +export const test_llm_application_gemini_ArrayHierarchical = + _test_llm_application({ + model: "gemini", + name: "ArrayHierarchical", + })(typia.llm.application()); + +interface ArrayHierarchicalApplication { + insert(first: ArrayHierarchical): Promise; + reduce( + first: ArrayHierarchical, + second: ArrayHierarchical | null, + ): Promise; + coalesce( + first: ArrayHierarchical | null, + second: ArrayHierarchical | null, + third?: ArrayHierarchical | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayHierarchicalPointer.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayHierarchicalPointer.ts new file mode 100644 index 0000000000..e8965f9f16 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayHierarchicalPointer.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayHierarchicalPointer } from "../../../structures/ArrayHierarchicalPointer"; + +export const test_llm_application_gemini_ArrayHierarchicalPointer = + _test_llm_application({ + model: "gemini", + name: "ArrayHierarchicalPointer", + })(typia.llm.application()); + +interface ArrayHierarchicalPointerApplication { + insert(first: ArrayHierarchicalPointer): Promise; + reduce( + first: ArrayHierarchicalPointer, + second: ArrayHierarchicalPointer | null, + ): Promise; + coalesce( + first: ArrayHierarchicalPointer | null, + second: ArrayHierarchicalPointer | null, + third?: ArrayHierarchicalPointer | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayMatrix.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayMatrix.ts new file mode 100644 index 0000000000..2a250c8220 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayMatrix.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayMatrix } from "../../../structures/ArrayMatrix"; + +export const test_llm_application_gemini_ArrayMatrix = _test_llm_application({ + model: "gemini", + name: "ArrayMatrix", +})(typia.llm.application()); + +interface ArrayMatrixApplication { + insert(first: ArrayMatrix): Promise; + reduce(first: ArrayMatrix, second: ArrayMatrix | null): Promise; + coalesce( + first: ArrayMatrix | null, + second: ArrayMatrix | null, + third?: ArrayMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayRecursive.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayRecursive.ts new file mode 100644 index 0000000000..04c2d96531 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArrayRecursive.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_llm_application_gemini_ArrayRecursive = _test_llm_application( + { + model: "gemini", + name: "ArrayRecursive", + }, +)(typia.llm.application()); + +interface ArrayRecursiveApplication { + insert(first: ArrayRecursive): Promise; + reduce( + first: ArrayRecursive, + second: ArrayRecursive | null, + ): Promise; + coalesce( + first: ArrayRecursive | null, + second: ArrayRecursive | null, + third?: ArrayRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ArraySimple.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArraySimple.ts new file mode 100644 index 0000000000..abe710ed1c --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ArraySimple.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ArraySimple } from "../../../structures/ArraySimple"; + +export const test_llm_application_gemini_ArraySimple = _test_llm_application({ + model: "gemini", + name: "ArraySimple", +})(typia.llm.application()); + +interface ArraySimpleApplication { + insert(first: ArraySimple): Promise; + reduce(first: ArraySimple, second: ArraySimple | null): Promise; + coalesce( + first: ArraySimple | null, + second: ArraySimple | null, + third?: ArraySimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassGetter.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassGetter.ts new file mode 100644 index 0000000000..11e77d74c1 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassGetter.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassGetter } from "../../../structures/ClassGetter"; + +export const test_llm_application_gemini_ClassGetter = _test_llm_application({ + model: "gemini", + name: "ClassGetter", +})(typia.llm.application()); + +interface ClassGetterApplication { + insert(first: ClassGetter): Promise; + reduce(first: ClassGetter, second: ClassGetter | null): Promise; + coalesce( + first: ClassGetter | null, + second: ClassGetter | null, + third?: ClassGetter | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassMethod.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassMethod.ts new file mode 100644 index 0000000000..7dbd3b696a --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassMethod.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassMethod } from "../../../structures/ClassMethod"; + +export const test_llm_application_gemini_ClassMethod = _test_llm_application({ + model: "gemini", + name: "ClassMethod", +})(typia.llm.application()); + +interface ClassMethodApplication { + insert(first: ClassMethod): Promise; + reduce(first: ClassMethod, second: ClassMethod | null): Promise; + coalesce( + first: ClassMethod | null, + second: ClassMethod | null, + third?: ClassMethod | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassPropertyAssignment.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassPropertyAssignment.ts new file mode 100644 index 0000000000..a1481bb94a --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ClassPropertyAssignment.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ClassPropertyAssignment } from "../../../structures/ClassPropertyAssignment"; + +export const test_llm_application_gemini_ClassPropertyAssignment = + _test_llm_application({ + model: "gemini", + name: "ClassPropertyAssignment", + })(typia.llm.application()); + +interface ClassPropertyAssignmentApplication { + insert(first: ClassPropertyAssignment): Promise; + reduce( + first: ClassPropertyAssignment, + second: ClassPropertyAssignment | null, + ): Promise; + coalesce( + first: ClassPropertyAssignment | null, + second: ClassPropertyAssignment | null, + third?: ClassPropertyAssignment | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagArray.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagArray.ts new file mode 100644 index 0000000000..fc3b98a9d9 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagArray } from "../../../structures/CommentTagArray"; + +export const test_llm_application_gemini_CommentTagArray = + _test_llm_application({ + model: "gemini", + name: "CommentTagArray", + })(typia.llm.application()); + +interface CommentTagArrayApplication { + insert(first: CommentTagArray): Promise; + reduce( + first: CommentTagArray, + second: CommentTagArray | null, + ): Promise; + coalesce( + first: CommentTagArray | null, + second: CommentTagArray | null, + third?: CommentTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagFormat.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagFormat.ts new file mode 100644 index 0000000000..256095ce10 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagFormat.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagFormat } from "../../../structures/CommentTagFormat"; + +export const test_llm_application_gemini_CommentTagFormat = + _test_llm_application({ + model: "gemini", + name: "CommentTagFormat", + })(typia.llm.application()); + +interface CommentTagFormatApplication { + insert(first: CommentTagFormat): Promise; + reduce( + first: CommentTagFormat, + second: CommentTagFormat | null, + ): Promise; + coalesce( + first: CommentTagFormat | null, + second: CommentTagFormat | null, + third?: CommentTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagLength.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagLength.ts new file mode 100644 index 0000000000..83243d79e6 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagLength.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagLength } from "../../../structures/CommentTagLength"; + +export const test_llm_application_gemini_CommentTagLength = + _test_llm_application({ + model: "gemini", + name: "CommentTagLength", + })(typia.llm.application()); + +interface CommentTagLengthApplication { + insert(first: CommentTagLength): Promise; + reduce( + first: CommentTagLength, + second: CommentTagLength | null, + ): Promise; + coalesce( + first: CommentTagLength | null, + second: CommentTagLength | null, + third?: CommentTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagPattern.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagPattern.ts new file mode 100644 index 0000000000..6653728f0c --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagPattern.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagPattern } from "../../../structures/CommentTagPattern"; + +export const test_llm_application_gemini_CommentTagPattern = + _test_llm_application({ + model: "gemini", + name: "CommentTagPattern", + })(typia.llm.application()); + +interface CommentTagPatternApplication { + insert(first: CommentTagPattern): Promise; + reduce( + first: CommentTagPattern, + second: CommentTagPattern | null, + ): Promise; + coalesce( + first: CommentTagPattern | null, + second: CommentTagPattern | null, + third?: CommentTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagRange.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagRange.ts new file mode 100644 index 0000000000..e3b82d06a9 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagRange.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagRange } from "../../../structures/CommentTagRange"; + +export const test_llm_application_gemini_CommentTagRange = + _test_llm_application({ + model: "gemini", + name: "CommentTagRange", + })(typia.llm.application()); + +interface CommentTagRangeApplication { + insert(first: CommentTagRange): Promise; + reduce( + first: CommentTagRange, + second: CommentTagRange | null, + ): Promise; + coalesce( + first: CommentTagRange | null, + second: CommentTagRange | null, + third?: CommentTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagType.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagType.ts new file mode 100644 index 0000000000..e5fa0822bb --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_CommentTagType.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { CommentTagType } from "../../../structures/CommentTagType"; + +export const test_llm_application_gemini_CommentTagType = _test_llm_application( + { + model: "gemini", + name: "CommentTagType", + }, +)(typia.llm.application()); + +interface CommentTagTypeApplication { + insert(first: CommentTagType): Promise; + reduce( + first: CommentTagType, + second: CommentTagType | null, + ): Promise; + coalesce( + first: CommentTagType | null, + second: CommentTagType | null, + third?: CommentTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ConstantAtomicAbsorbed.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ConstantAtomicAbsorbed.ts new file mode 100644 index 0000000000..b975f53fe6 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ConstantAtomicAbsorbed.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ConstantAtomicAbsorbed } from "../../../structures/ConstantAtomicAbsorbed"; + +export const test_llm_application_gemini_ConstantAtomicAbsorbed = + _test_llm_application({ + model: "gemini", + name: "ConstantAtomicAbsorbed", + })(typia.llm.application()); + +interface ConstantAtomicAbsorbedApplication { + insert(first: ConstantAtomicAbsorbed): Promise; + reduce( + first: ConstantAtomicAbsorbed, + second: ConstantAtomicAbsorbed | null, + ): Promise; + coalesce( + first: ConstantAtomicAbsorbed | null, + second: ConstantAtomicAbsorbed | null, + third?: ConstantAtomicAbsorbed | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicArray.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicArray.ts new file mode 100644 index 0000000000..d3d1180529 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicArray } from "../../../structures/DynamicArray"; + +export const test_llm_application_gemini_DynamicArray = _test_llm_application({ + model: "gemini", + name: "DynamicArray", +})(typia.llm.application()); + +interface DynamicArrayApplication { + insert(first: DynamicArray): Promise; + reduce( + first: DynamicArray, + second: DynamicArray | null, + ): Promise; + coalesce( + first: DynamicArray | null, + second: DynamicArray | null, + third?: DynamicArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicConstant.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicConstant.ts new file mode 100644 index 0000000000..a3e85450f4 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicConstant } from "../../../structures/DynamicConstant"; + +export const test_llm_application_gemini_DynamicConstant = + _test_llm_application({ + model: "gemini", + name: "DynamicConstant", + })(typia.llm.application()); + +interface DynamicConstantApplication { + insert(first: DynamicConstant): Promise; + reduce( + first: DynamicConstant, + second: DynamicConstant | null, + ): Promise; + coalesce( + first: DynamicConstant | null, + second: DynamicConstant | null, + third?: DynamicConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicEnumeration.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicEnumeration.ts new file mode 100644 index 0000000000..a0c90fb893 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicEnumeration.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicEnumeration } from "../../../structures/DynamicEnumeration"; + +export const test_llm_application_gemini_DynamicEnumeration = + _test_llm_application({ + model: "gemini", + name: "DynamicEnumeration", + })(typia.llm.application()); + +interface DynamicEnumerationApplication { + insert(first: DynamicEnumeration): Promise; + reduce( + first: DynamicEnumeration, + second: DynamicEnumeration | null, + ): Promise; + coalesce( + first: DynamicEnumeration | null, + second: DynamicEnumeration | null, + third?: DynamicEnumeration | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicNever.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicNever.ts new file mode 100644 index 0000000000..1dfe9a585a --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicNever.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicNever } from "../../../structures/DynamicNever"; + +export const test_llm_application_gemini_DynamicNever = _test_llm_application({ + model: "gemini", + name: "DynamicNever", +})(typia.llm.application()); + +interface DynamicNeverApplication { + insert(first: DynamicNever): Promise; + reduce( + first: DynamicNever, + second: DynamicNever | null, + ): Promise; + coalesce( + first: DynamicNever | null, + second: DynamicNever | null, + third?: DynamicNever | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicSimple.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicSimple.ts new file mode 100644 index 0000000000..903d82521e --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicSimple } from "../../../structures/DynamicSimple"; + +export const test_llm_application_gemini_DynamicSimple = _test_llm_application({ + model: "gemini", + name: "DynamicSimple", +})(typia.llm.application()); + +interface DynamicSimpleApplication { + insert(first: DynamicSimple): Promise; + reduce( + first: DynamicSimple, + second: DynamicSimple | null, + ): Promise; + coalesce( + first: DynamicSimple | null, + second: DynamicSimple | null, + third?: DynamicSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicTree.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicTree.ts new file mode 100644 index 0000000000..c8fdb8d4a2 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicTree.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_llm_application_gemini_DynamicTree = _test_llm_application({ + model: "gemini", + name: "DynamicTree", +})(typia.llm.application()); + +interface DynamicTreeApplication { + insert(first: DynamicTree): Promise; + reduce(first: DynamicTree, second: DynamicTree | null): Promise; + coalesce( + first: DynamicTree | null, + second: DynamicTree | null, + third?: DynamicTree | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicUndefined.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicUndefined.ts new file mode 100644 index 0000000000..3132e08a37 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_DynamicUndefined.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { DynamicUndefined } from "../../../structures/DynamicUndefined"; + +export const test_llm_application_gemini_DynamicUndefined = + _test_llm_application({ + model: "gemini", + name: "DynamicUndefined", + })(typia.llm.application()); + +interface DynamicUndefinedApplication { + insert(first: DynamicUndefined): Promise; + reduce( + first: DynamicUndefined, + second: DynamicUndefined | null, + ): Promise; + coalesce( + first: DynamicUndefined | null, + second: DynamicUndefined | null, + third?: DynamicUndefined | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectDate.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectDate.ts new file mode 100644 index 0000000000..4cfcee398b --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectDate.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDate } from "../../../structures/ObjectDate"; + +export const test_llm_application_gemini_ObjectDate = _test_llm_application({ + model: "gemini", + name: "ObjectDate", +})(typia.llm.application()); + +interface ObjectDateApplication { + insert(first: ObjectDate): Promise; + reduce(first: ObjectDate, second: ObjectDate | null): Promise; + coalesce( + first: ObjectDate | null, + second: ObjectDate | null, + third?: ObjectDate | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectDescription.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectDescription.ts new file mode 100644 index 0000000000..ed96092f6f --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectDescription.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectDescription } from "../../../structures/ObjectDescription"; + +export const test_llm_application_gemini_ObjectDescription = + _test_llm_application({ + model: "gemini", + name: "ObjectDescription", + })(typia.llm.application()); + +interface ObjectDescriptionApplication { + insert(first: ObjectDescription): Promise; + reduce( + first: ObjectDescription, + second: ObjectDescription | null, + ): Promise; + coalesce( + first: ObjectDescription | null, + second: ObjectDescription | null, + third?: ObjectDescription | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectGenericAlias.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectGenericAlias.ts new file mode 100644 index 0000000000..ea01838e10 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectGenericAlias.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericAlias } from "../../../structures/ObjectGenericAlias"; + +export const test_llm_application_gemini_ObjectGenericAlias = + _test_llm_application({ + model: "gemini", + name: "ObjectGenericAlias", + })(typia.llm.application()); + +interface ObjectGenericAliasApplication { + insert(first: ObjectGenericAlias): Promise; + reduce( + first: ObjectGenericAlias, + second: ObjectGenericAlias | null, + ): Promise; + coalesce( + first: ObjectGenericAlias | null, + second: ObjectGenericAlias | null, + third?: ObjectGenericAlias | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectGenericArray.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectGenericArray.ts new file mode 100644 index 0000000000..5f2578bf1f --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectGenericArray.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectGenericArray } from "../../../structures/ObjectGenericArray"; + +export const test_llm_application_gemini_ObjectGenericArray = + _test_llm_application({ + model: "gemini", + name: "ObjectGenericArray", + })(typia.llm.application()); + +interface ObjectGenericArrayApplication { + insert(first: ObjectGenericArray): Promise; + reduce( + first: ObjectGenericArray, + second: ObjectGenericArray | null, + ): Promise; + coalesce( + first: ObjectGenericArray | null, + second: ObjectGenericArray | null, + third?: ObjectGenericArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectInternal.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectInternal.ts new file mode 100644 index 0000000000..cecf4193f8 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectInternal.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectInternal } from "../../../structures/ObjectInternal"; + +export const test_llm_application_gemini_ObjectInternal = _test_llm_application( + { + model: "gemini", + name: "ObjectInternal", + }, +)(typia.llm.application()); + +interface ObjectInternalApplication { + insert(first: ObjectInternal): Promise; + reduce( + first: ObjectInternal, + second: ObjectInternal | null, + ): Promise; + coalesce( + first: ObjectInternal | null, + second: ObjectInternal | null, + third?: ObjectInternal | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectIntersection.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectIntersection.ts new file mode 100644 index 0000000000..d30e1d3fcd --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectIntersection.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectIntersection } from "../../../structures/ObjectIntersection"; + +export const test_llm_application_gemini_ObjectIntersection = + _test_llm_application({ + model: "gemini", + name: "ObjectIntersection", + })(typia.llm.application()); + +interface ObjectIntersectionApplication { + insert(first: ObjectIntersection): Promise; + reduce( + first: ObjectIntersection, + second: ObjectIntersection | null, + ): Promise; + coalesce( + first: ObjectIntersection | null, + second: ObjectIntersection | null, + third?: ObjectIntersection | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectJsonTag.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectJsonTag.ts new file mode 100644 index 0000000000..03b4709f2e --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectJsonTag.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectJsonTag } from "../../../structures/ObjectJsonTag"; + +export const test_llm_application_gemini_ObjectJsonTag = _test_llm_application({ + model: "gemini", + name: "ObjectJsonTag", +})(typia.llm.application()); + +interface ObjectJsonTagApplication { + insert(first: ObjectJsonTag): Promise; + reduce( + first: ObjectJsonTag, + second: ObjectJsonTag | null, + ): Promise; + coalesce( + first: ObjectJsonTag | null, + second: ObjectJsonTag | null, + third?: ObjectJsonTag | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectLiteralProperty.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectLiteralProperty.ts new file mode 100644 index 0000000000..314f245935 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectLiteralProperty.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralProperty } from "../../../structures/ObjectLiteralProperty"; + +export const test_llm_application_gemini_ObjectLiteralProperty = + _test_llm_application({ + model: "gemini", + name: "ObjectLiteralProperty", + })(typia.llm.application()); + +interface ObjectLiteralPropertyApplication { + insert(first: ObjectLiteralProperty): Promise; + reduce( + first: ObjectLiteralProperty, + second: ObjectLiteralProperty | null, + ): Promise; + coalesce( + first: ObjectLiteralProperty | null, + second: ObjectLiteralProperty | null, + third?: ObjectLiteralProperty | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectLiteralType.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectLiteralType.ts new file mode 100644 index 0000000000..6e8cc17641 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectLiteralType.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectLiteralType } from "../../../structures/ObjectLiteralType"; + +export const test_llm_application_gemini_ObjectLiteralType = + _test_llm_application({ + model: "gemini", + name: "ObjectLiteralType", + })(typia.llm.application()); + +interface ObjectLiteralTypeApplication { + insert(first: ObjectLiteralType): Promise; + reduce( + first: ObjectLiteralType, + second: ObjectLiteralType | null, + ): Promise; + coalesce( + first: ObjectLiteralType | null, + second: ObjectLiteralType | null, + third?: ObjectLiteralType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectOptional.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectOptional.ts new file mode 100644 index 0000000000..df9c6e81dc --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectOptional.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectOptional } from "../../../structures/ObjectOptional"; + +export const test_llm_application_gemini_ObjectOptional = _test_llm_application( + { + model: "gemini", + name: "ObjectOptional", + }, +)(typia.llm.application()); + +interface ObjectOptionalApplication { + insert(first: ObjectOptional): Promise; + reduce( + first: ObjectOptional, + second: ObjectOptional | null, + ): Promise; + coalesce( + first: ObjectOptional | null, + second: ObjectOptional | null, + third?: ObjectOptional | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPartial.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPartial.ts new file mode 100644 index 0000000000..f138462eb8 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPartial.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_llm_application_gemini_ObjectPartial = _test_llm_application({ + model: "gemini", + name: "ObjectPartial", +})(typia.llm.application()); + +interface ObjectPartialApplication { + insert(first: ObjectPartial): Promise; + reduce( + first: ObjectPartial, + second: ObjectPartial | null, + ): Promise; + coalesce( + first: ObjectPartial | null, + second: ObjectPartial | null, + third?: ObjectPartial | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPartialAndRequired.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..be57096164 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPartialAndRequired.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_llm_application_gemini_ObjectPartialAndRequired = + _test_llm_application({ + model: "gemini", + name: "ObjectPartialAndRequired", + })(typia.llm.application()); + +interface ObjectPartialAndRequiredApplication { + insert(first: ObjectPartialAndRequired): Promise; + reduce( + first: ObjectPartialAndRequired, + second: ObjectPartialAndRequired | null, + ): Promise; + coalesce( + first: ObjectPartialAndRequired | null, + second: ObjectPartialAndRequired | null, + third?: ObjectPartialAndRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPrimitive.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPrimitive.ts new file mode 100644 index 0000000000..65ca97b49d --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectPrimitive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectPrimitive } from "../../../structures/ObjectPrimitive"; + +export const test_llm_application_gemini_ObjectPrimitive = + _test_llm_application({ + model: "gemini", + name: "ObjectPrimitive", + })(typia.llm.application()); + +interface ObjectPrimitiveApplication { + insert(first: ObjectPrimitive): Promise; + reduce( + first: ObjectPrimitive, + second: ObjectPrimitive | null, + ): Promise; + coalesce( + first: ObjectPrimitive | null, + second: ObjectPrimitive | null, + third?: ObjectPrimitive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectRecursive.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectRecursive.ts new file mode 100644 index 0000000000..d244331099 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectRecursive.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_llm_application_gemini_ObjectRecursive = + _test_llm_application({ + model: "gemini", + name: "ObjectRecursive", + })(typia.llm.application()); + +interface ObjectRecursiveApplication { + insert(first: ObjectRecursive): Promise; + reduce( + first: ObjectRecursive, + second: ObjectRecursive | null, + ): Promise; + coalesce( + first: ObjectRecursive | null, + second: ObjectRecursive | null, + third?: ObjectRecursive | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectRequired.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectRequired.ts new file mode 100644 index 0000000000..59150a993d --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectRequired.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_llm_application_gemini_ObjectRequired = _test_llm_application( + { + model: "gemini", + name: "ObjectRequired", + }, +)(typia.llm.application()); + +interface ObjectRequiredApplication { + insert(first: ObjectRequired): Promise; + reduce( + first: ObjectRequired, + second: ObjectRequired | null, + ): Promise; + coalesce( + first: ObjectRequired | null, + second: ObjectRequired | null, + third?: ObjectRequired | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectSimple.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectSimple.ts new file mode 100644 index 0000000000..95ce7da335 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ObjectSimple.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ObjectSimple } from "../../../structures/ObjectSimple"; + +export const test_llm_application_gemini_ObjectSimple = _test_llm_application({ + model: "gemini", + name: "ObjectSimple", +})(typia.llm.application()); + +interface ObjectSimpleApplication { + insert(first: ObjectSimple): Promise; + reduce( + first: ObjectSimple, + second: ObjectSimple | null, + ): Promise; + coalesce( + first: ObjectSimple | null, + second: ObjectSimple | null, + third?: ObjectSimple | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TemplateAtomic.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TemplateAtomic.ts new file mode 100644 index 0000000000..2feeaf54b3 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TemplateAtomic.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateAtomic } from "../../../structures/TemplateAtomic"; + +export const test_llm_application_gemini_TemplateAtomic = _test_llm_application( + { + model: "gemini", + name: "TemplateAtomic", + }, +)(typia.llm.application()); + +interface TemplateAtomicApplication { + insert(first: TemplateAtomic): Promise; + reduce( + first: TemplateAtomic, + second: TemplateAtomic | null, + ): Promise; + coalesce( + first: TemplateAtomic | null, + second: TemplateAtomic | null, + third?: TemplateAtomic | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TemplateConstant.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TemplateConstant.ts new file mode 100644 index 0000000000..b6a94b89ab --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TemplateConstant.ts @@ -0,0 +1,23 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TemplateConstant } from "../../../structures/TemplateConstant"; + +export const test_llm_application_gemini_TemplateConstant = + _test_llm_application({ + model: "gemini", + name: "TemplateConstant", + })(typia.llm.application()); + +interface TemplateConstantApplication { + insert(first: TemplateConstant): Promise; + reduce( + first: TemplateConstant, + second: TemplateConstant | null, + ): Promise; + coalesce( + first: TemplateConstant | null, + second: TemplateConstant | null, + third?: TemplateConstant | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ToJsonDouble.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ToJsonDouble.ts new file mode 100644 index 0000000000..8783b762ea --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ToJsonDouble.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonDouble } from "../../../structures/ToJsonDouble"; + +export const test_llm_application_gemini_ToJsonDouble = _test_llm_application({ + model: "gemini", + name: "ToJsonDouble", +})(typia.llm.application()); + +interface ToJsonDoubleApplication { + insert(first: ToJsonDouble): Promise; + reduce( + first: ToJsonDouble, + second: ToJsonDouble | null, + ): Promise; + coalesce( + first: ToJsonDouble | null, + second: ToJsonDouble | null, + third?: ToJsonDouble | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_ToJsonNull.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_ToJsonNull.ts new file mode 100644 index 0000000000..f65e0f6635 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_ToJsonNull.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { ToJsonNull } from "../../../structures/ToJsonNull"; + +export const test_llm_application_gemini_ToJsonNull = _test_llm_application({ + model: "gemini", + name: "ToJsonNull", +})(typia.llm.application()); + +interface ToJsonNullApplication { + insert(first: ToJsonNull): Promise; + reduce(first: ToJsonNull, second: ToJsonNull | null): Promise; + coalesce( + first: ToJsonNull | null, + second: ToJsonNull | null, + third?: ToJsonNull | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagArray.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagArray.ts new file mode 100644 index 0000000000..90e55900a3 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagArray.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagArray } from "../../../structures/TypeTagArray"; + +export const test_llm_application_gemini_TypeTagArray = _test_llm_application({ + model: "gemini", + name: "TypeTagArray", +})(typia.llm.application()); + +interface TypeTagArrayApplication { + insert(first: TypeTagArray): Promise; + reduce( + first: TypeTagArray, + second: TypeTagArray | null, + ): Promise; + coalesce( + first: TypeTagArray | null, + second: TypeTagArray | null, + third?: TypeTagArray | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagCustom.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagCustom.ts new file mode 100644 index 0000000000..539b294c41 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagCustom.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagCustom } from "../../../structures/TypeTagCustom"; + +export const test_llm_application_gemini_TypeTagCustom = _test_llm_application({ + model: "gemini", + name: "TypeTagCustom", +})(typia.llm.application()); + +interface TypeTagCustomApplication { + insert(first: TypeTagCustom): Promise; + reduce( + first: TypeTagCustom, + second: TypeTagCustom | null, + ): Promise; + coalesce( + first: TypeTagCustom | null, + second: TypeTagCustom | null, + third?: TypeTagCustom | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagFormat.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagFormat.ts new file mode 100644 index 0000000000..5843fa25fa --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagFormat.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagFormat } from "../../../structures/TypeTagFormat"; + +export const test_llm_application_gemini_TypeTagFormat = _test_llm_application({ + model: "gemini", + name: "TypeTagFormat", +})(typia.llm.application()); + +interface TypeTagFormatApplication { + insert(first: TypeTagFormat): Promise; + reduce( + first: TypeTagFormat, + second: TypeTagFormat | null, + ): Promise; + coalesce( + first: TypeTagFormat | null, + second: TypeTagFormat | null, + third?: TypeTagFormat | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagLength.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagLength.ts new file mode 100644 index 0000000000..f0132a758c --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagLength.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagLength } from "../../../structures/TypeTagLength"; + +export const test_llm_application_gemini_TypeTagLength = _test_llm_application({ + model: "gemini", + name: "TypeTagLength", +})(typia.llm.application()); + +interface TypeTagLengthApplication { + insert(first: TypeTagLength): Promise; + reduce( + first: TypeTagLength, + second: TypeTagLength | null, + ): Promise; + coalesce( + first: TypeTagLength | null, + second: TypeTagLength | null, + third?: TypeTagLength | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagMatrix.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagMatrix.ts new file mode 100644 index 0000000000..c7843770f1 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagMatrix.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagMatrix } from "../../../structures/TypeTagMatrix"; + +export const test_llm_application_gemini_TypeTagMatrix = _test_llm_application({ + model: "gemini", + name: "TypeTagMatrix", +})(typia.llm.application()); + +interface TypeTagMatrixApplication { + insert(first: TypeTagMatrix): Promise; + reduce( + first: TypeTagMatrix, + second: TypeTagMatrix | null, + ): Promise; + coalesce( + first: TypeTagMatrix | null, + second: TypeTagMatrix | null, + third?: TypeTagMatrix | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagPattern.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagPattern.ts new file mode 100644 index 0000000000..e178021e43 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagPattern.ts @@ -0,0 +1,24 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagPattern } from "../../../structures/TypeTagPattern"; + +export const test_llm_application_gemini_TypeTagPattern = _test_llm_application( + { + model: "gemini", + name: "TypeTagPattern", + }, +)(typia.llm.application()); + +interface TypeTagPatternApplication { + insert(first: TypeTagPattern): Promise; + reduce( + first: TypeTagPattern, + second: TypeTagPattern | null, + ): Promise; + coalesce( + first: TypeTagPattern | null, + second: TypeTagPattern | null, + third?: TypeTagPattern | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagRange.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagRange.ts new file mode 100644 index 0000000000..68ada286e5 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagRange.ts @@ -0,0 +1,22 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagRange } from "../../../structures/TypeTagRange"; + +export const test_llm_application_gemini_TypeTagRange = _test_llm_application({ + model: "gemini", + name: "TypeTagRange", +})(typia.llm.application()); + +interface TypeTagRangeApplication { + insert(first: TypeTagRange): Promise; + reduce( + first: TypeTagRange, + second: TypeTagRange | null, + ): Promise; + coalesce( + first: TypeTagRange | null, + second: TypeTagRange | null, + third?: TypeTagRange | null, + ): Promise; +} diff --git a/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagType.ts b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagType.ts new file mode 100644 index 0000000000..1e8a03eb56 --- /dev/null +++ b/test/src/features/llm.application/gemini/test_llm_application_gemini_TypeTagType.ts @@ -0,0 +1,19 @@ +import typia from "typia"; + +import { _test_llm_application } from "../../../internal/_test_llm_application"; +import { TypeTagType } from "../../../structures/TypeTagType"; + +export const test_llm_application_gemini_TypeTagType = _test_llm_application({ + model: "gemini", + name: "TypeTagType", +})(typia.llm.application()); + +interface TypeTagTypeApplication { + insert(first: TypeTagType): Promise; + reduce(first: TypeTagType, second: TypeTagType | null): Promise; + coalesce( + first: TypeTagType | null, + second: TypeTagType | null, + third?: TypeTagType | null, + ): Promise; +} diff --git a/test/src/features/llm.application/test_llm_application.ts b/test/src/features/llm.application/test_llm_application.ts deleted file mode 100644 index 929b9fe338..0000000000 --- a/test/src/features/llm.application/test_llm_application.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { ILlmApplication } from "@samchon/openapi"; -import typia from "typia"; - -import { TestValidator } from "../../helpers/TestValidator"; - -export const test_llm_application = (): void => { - const app: ILlmApplication<"3.0"> = typia.llm.application(); - TestValidator.equals("application")(app)({ - model: "3.0", - functions: [ - { - name: "getId", - parameters: [], - output: { - type: "string", - }, - description: "Get ID.", - deprecated: true, - }, - { - name: "getValue", - parameters: [ - { - type: "number", - description: "The value x", - }, - { - type: "number", - title: "The value y", - description: "The value y.\n\nThe value to be added.", - }, - ], - output: { - type: "number", - title: "Sum of them", - description: "Sum of them.\n\n`this.value + x + y`", - }, - description: - "Get value.\n\nGet value with plus operation of member value, x and y.", - tags: ["mathmatics", "arithmetic"], - }, - { - name: "getPerformance", - parameters: [], - output: { - type: "object", - properties: { - level: { - type: "number", - title: "Level value", - description: "Level value.", - }, - }, - nullable: false, - required: ["level"], - additionalProperties: false, - description: "The performance interface.", - }, - description: "Get performance.", - tags: ["monitor"], - }, - { - name: "synchronize", - parameters: [ - { - type: "boolean", - title: "Flag for synchronization", - description: "Flag for synchronization.", - }, - ], - output: { - type: "boolean", - }, - description: "Synchornize with server.", - }, - ], - options: { - separate: null, - recursive: 3, - }, - }); -}; - -class SomeClass { - id: string = "id"; - value: number = 0; - - /** - * Get ID. - * - * @deprecated - */ - getId = (): string => { - return this.id; - }; - - /** - * Get value. - * - * Get value with plus operation of member value, x and y. - * - * @param x The value x - * @param y The value y. - * - * The value to be added. - * @returns Sum of them. - * - * `this.value + x + y` - * @tag mathmatics - * @tag arithmetic - */ - getValue(x: number, y: number): number { - return this.value + x + y; - } - - /** - * Get performance. - * - * @tag monitor tool - */ - async getPerformance(): Promise { - return { level: 3 }; - } - - /** - * Synchornize with server. - */ - async synchronize( - /** - * Flag for synchronization. - */ - flag: boolean, - ): Promise { - return flag && true; - } -} - -/** - * The performance interface. - */ -interface IPerformance { - /** - * Level value. - */ - level: number; -} diff --git a/test/src/features/llm.application/test_llm_application_separate.ts b/test/src/features/llm.application/test_llm_application_separate.ts deleted file mode 100644 index 68257effa5..0000000000 --- a/test/src/features/llm.application/test_llm_application_separate.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { - ILlmApplication, - ILlmSchemaV3, - LlmTypeCheckerV3, -} from "@samchon/openapi"; -import { ILlmFunction } from "@samchon/openapi/lib/structures/ILlmFunction"; -import typia, { tags } from "typia"; - -import { TestValidator } from "../../helpers/TestValidator"; - -export const test_llm_application_separate = (): void => { - const app: ILlmApplication<"3.0"> = typia.llm.application< - BbsArticleApplication, - "3.0" - >({ - separate: (schema) => - LlmTypeCheckerV3.isString(schema) && - schema.contentMediaType !== undefined, - }); - const func: ILlmFunction = app.functions[0]!; - TestValidator.equals("separated.human")(func.separated?.human)([ - { - index: 0, - schema: { - type: "object", - properties: { - file: { - type: "string", - format: "uri", - contentMediaType: "*/*", - }, - }, - additionalProperties: false, - nullable: false, - required: ["file"], - }, - }, - ]); - TestValidator.equals("separated.llm")(func.separated?.llm)([ - { - index: 0, - schema: { - type: "object", - properties: { - title: { - type: "string", - }, - body: { - type: "string", - }, - }, - additionalProperties: false, - nullable: false, - required: ["title", "body"], - }, - }, - ]); -}; - -interface IBbsArticle extends IBbsArticle.ICreate { - id: string & tags.Format<"uuid">; - created_at: string & tags.Format<"date-time">; -} -namespace IBbsArticle { - export interface ICreate { - title: string; - body: string; - file: string & tags.Format<"uri"> & tags.ContentMediaType<"*/*">; - } -} - -interface BbsArticleApplication { - create(input: IBbsArticle.ICreate): Promise; -} diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursive.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursive.ts new file mode 100644 index 0000000000..61b15c14c2 --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursive.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_llm_schema_3_0_ArrayRecursive = _test_llm_schema({ + model: "3.0", + name: "ArrayRecursive", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionExplicit.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionExplicit.ts new file mode 100644 index 0000000000..b7b6946c5d --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionExplicit.ts @@ -0,0 +1,11 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursiveUnionExplicit } from "../../../structures/ArrayRecursiveUnionExplicit"; + +export const test_llm_schema_3_0_ArrayRecursiveUnionExplicit = _test_llm_schema( + { + model: "3.0", + name: "ArrayRecursiveUnionExplicit", + }, +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionExplicitPointer.ts new file mode 100644 index 0000000000..e6081ce738 --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionExplicitPointer.ts @@ -0,0 +1,10 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursiveUnionExplicitPointer } from "../../../structures/ArrayRecursiveUnionExplicitPointer"; + +export const test_llm_schema_3_0_ArrayRecursiveUnionExplicitPointer = + _test_llm_schema({ + model: "3.0", + name: "ArrayRecursiveUnionExplicitPointer", + })(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionImplicit.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionImplicit.ts new file mode 100644 index 0000000000..60be74106a --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRecursiveUnionImplicit.ts @@ -0,0 +1,11 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursiveUnionImplicit } from "../../../structures/ArrayRecursiveUnionImplicit"; + +export const test_llm_schema_3_0_ArrayRecursiveUnionImplicit = _test_llm_schema( + { + model: "3.0", + name: "ArrayRecursiveUnionImplicit", + }, +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedNullable.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedNullable.ts new file mode 100644 index 0000000000..737b01ea19 --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedNullable.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable"; + +export const test_llm_schema_3_0_ArrayRepeatedNullable = _test_llm_schema({ + model: "3.0", + name: "ArrayRepeatedNullable", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedRequired.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedRequired.ts new file mode 100644 index 0000000000..840bcb41cf --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedRequired.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired"; + +export const test_llm_schema_3_0_ArrayRepeatedRequired = _test_llm_schema({ + model: "3.0", + name: "ArrayRepeatedRequired", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedUnion.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedUnion.ts new file mode 100644 index 0000000000..4326ff129d --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedUnion.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; + +export const test_llm_schema_3_0_ArrayRepeatedUnion = _test_llm_schema({ + model: "3.0", + name: "ArrayRepeatedUnion", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedUnionWithTuple.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedUnionWithTuple.ts new file mode 100644 index 0000000000..788cdaf58d --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ArrayRepeatedUnionWithTuple.ts @@ -0,0 +1,11 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedUnionWithTuple } from "../../../structures/ArrayRepeatedUnionWithTuple"; + +export const test_llm_schema_3_0_ArrayRepeatedUnionWithTuple = _test_llm_schema( + { + model: "3.0", + name: "ArrayRepeatedUnionWithTuple", + }, +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_DynamicTree.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_DynamicTree.ts new file mode 100644 index 0000000000..d777d865c8 --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_DynamicTree.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_llm_schema_3_0_DynamicTree = _test_llm_schema({ + model: "3.0", + name: "DynamicTree", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectPartial.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectPartial.ts new file mode 100644 index 0000000000..26c77912fa --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectPartial.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_llm_schema_3_0_ObjectPartial = _test_llm_schema({ + model: "3.0", + name: "ObjectPartial", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectPartialAndRequired.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..bd801d63ab --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectPartialAndRequired.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_llm_schema_3_0_ObjectPartialAndRequired = _test_llm_schema({ + model: "3.0", + name: "ObjectPartialAndRequired", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectRecursive.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectRecursive.ts new file mode 100644 index 0000000000..81badbcb96 --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectRecursive.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_llm_schema_3_0_ObjectRecursive = _test_llm_schema({ + model: "3.0", + name: "ObjectRecursive", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectRequired.ts b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectRequired.ts new file mode 100644 index 0000000000..a81852914f --- /dev/null +++ b/test/src/features/llm.schema/3.0/test_llm_schema_3_0_ObjectRequired.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_llm_schema_3_0_ObjectRequired = _test_llm_schema({ + model: "3.0", + name: "ObjectRequired", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursive.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursive.ts new file mode 100644 index 0000000000..23b3dfa833 --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursive.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_llm_schema_3_1_ArrayRecursive = _test_llm_schema({ + model: "3.1", + name: "ArrayRecursive", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionExplicit.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionExplicit.ts new file mode 100644 index 0000000000..5eae8ed2a2 --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionExplicit.ts @@ -0,0 +1,11 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursiveUnionExplicit } from "../../../structures/ArrayRecursiveUnionExplicit"; + +export const test_llm_schema_3_1_ArrayRecursiveUnionExplicit = _test_llm_schema( + { + model: "3.1", + name: "ArrayRecursiveUnionExplicit", + }, +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionExplicitPointer.ts new file mode 100644 index 0000000000..49fcfae531 --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionExplicitPointer.ts @@ -0,0 +1,10 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursiveUnionExplicitPointer } from "../../../structures/ArrayRecursiveUnionExplicitPointer"; + +export const test_llm_schema_3_1_ArrayRecursiveUnionExplicitPointer = + _test_llm_schema({ + model: "3.1", + name: "ArrayRecursiveUnionExplicitPointer", + })(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionImplicit.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionImplicit.ts new file mode 100644 index 0000000000..8b39a7cdbb --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRecursiveUnionImplicit.ts @@ -0,0 +1,11 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursiveUnionImplicit } from "../../../structures/ArrayRecursiveUnionImplicit"; + +export const test_llm_schema_3_1_ArrayRecursiveUnionImplicit = _test_llm_schema( + { + model: "3.1", + name: "ArrayRecursiveUnionImplicit", + }, +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedNullable.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedNullable.ts new file mode 100644 index 0000000000..33e5705fe1 --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedNullable.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable"; + +export const test_llm_schema_3_1_ArrayRepeatedNullable = _test_llm_schema({ + model: "3.1", + name: "ArrayRepeatedNullable", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedRequired.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedRequired.ts new file mode 100644 index 0000000000..5dc7736eea --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedRequired.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired"; + +export const test_llm_schema_3_1_ArrayRepeatedRequired = _test_llm_schema({ + model: "3.1", + name: "ArrayRepeatedRequired", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedUnion.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedUnion.ts new file mode 100644 index 0000000000..97f2c7649a --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedUnion.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; + +export const test_llm_schema_3_1_ArrayRepeatedUnion = _test_llm_schema({ + model: "3.1", + name: "ArrayRepeatedUnion", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedUnionWithTuple.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedUnionWithTuple.ts new file mode 100644 index 0000000000..8871d20de6 --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ArrayRepeatedUnionWithTuple.ts @@ -0,0 +1,11 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRepeatedUnionWithTuple } from "../../../structures/ArrayRepeatedUnionWithTuple"; + +export const test_llm_schema_3_1_ArrayRepeatedUnionWithTuple = _test_llm_schema( + { + model: "3.1", + name: "ArrayRepeatedUnionWithTuple", + }, +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_DynamicTree.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_DynamicTree.ts new file mode 100644 index 0000000000..abc280d7fb --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_DynamicTree.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_llm_schema_3_1_DynamicTree = _test_llm_schema({ + model: "3.1", + name: "DynamicTree", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectPartial.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectPartial.ts new file mode 100644 index 0000000000..9b15603210 --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectPartial.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_llm_schema_3_1_ObjectPartial = _test_llm_schema({ + model: "3.1", + name: "ObjectPartial", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectPartialAndRequired.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..deaad83ddf --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectPartialAndRequired.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_llm_schema_3_1_ObjectPartialAndRequired = _test_llm_schema({ + model: "3.1", + name: "ObjectPartialAndRequired", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectRecursive.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectRecursive.ts new file mode 100644 index 0000000000..7dc870f88f --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectRecursive.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_llm_schema_3_1_ObjectRecursive = _test_llm_schema({ + model: "3.1", + name: "ObjectRecursive", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectRequired.ts b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectRequired.ts new file mode 100644 index 0000000000..3817d7c9dd --- /dev/null +++ b/test/src/features/llm.schema/3.1/test_llm_schema_3_1_ObjectRequired.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_llm_schema_3_1_ObjectRequired = _test_llm_schema({ + model: "3.1", + name: "ObjectRequired", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAny.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAny.ts index 8fe31f659b..1040cf9e4b 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAny.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAny.ts @@ -6,4 +6,4 @@ import { ArrayAny } from "../../../structures/ArrayAny"; export const test_llm_schema_chatgpt_ArrayAny = _test_llm_schema({ model: "chatgpt", name: "ArrayAny", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAtomicAlias.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAtomicAlias.ts deleted file mode 100644 index 335db898f7..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAtomicAlias.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ArrayAtomicAlias } from "../../../structures/ArrayAtomicAlias"; - -export const test_llm_schema_chatgpt_ArrayAtomicAlias = _test_llm_schema({ - model: "chatgpt", - name: "ArrayAtomicAlias", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAtomicSimple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAtomicSimple.ts deleted file mode 100644 index 040a6de2cf..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayAtomicSimple.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ArrayAtomicSimple } from "../../../structures/ArrayAtomicSimple"; - -export const test_llm_schema_chatgpt_ArrayAtomicSimple = _test_llm_schema({ - model: "chatgpt", - name: "ArrayAtomicSimple", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchical.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchical.ts index dddd0caf92..6e1defda99 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchical.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchical.ts @@ -6,4 +6,4 @@ import { ArrayHierarchical } from "../../../structures/ArrayHierarchical"; export const test_llm_schema_chatgpt_ArrayHierarchical = _test_llm_schema({ model: "chatgpt", name: "ArrayHierarchical", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchicalPointer.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchicalPointer.ts index 8f4a37a0d4..2a290ba659 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchicalPointer.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayHierarchicalPointer.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ArrayHierarchicalPointer = _test_llm_schema({ model: "chatgpt", name: "ArrayHierarchicalPointer", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayMatrix.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayMatrix.ts index f7c26bddca..3bef5c30c2 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayMatrix.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayMatrix.ts @@ -6,4 +6,4 @@ import { ArrayMatrix } from "../../../structures/ArrayMatrix"; export const test_llm_schema_chatgpt_ArrayMatrix = _test_llm_schema({ model: "chatgpt", name: "ArrayMatrix", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursive.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursive.ts index bac2a38d6a..a32c3e987e 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursive.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursive.ts @@ -6,4 +6,4 @@ import { ArrayRecursive } from "../../../structures/ArrayRecursive"; export const test_llm_schema_chatgpt_ArrayRecursive = _test_llm_schema({ model: "chatgpt", name: "ArrayRecursive", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicit.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicit.ts index a7a4b82a52..d601b3946d 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicit.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicit.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ArrayRecursiveUnionExplicit = _test_llm_schema({ model: "chatgpt", name: "ArrayRecursiveUnionExplicit", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicitPointer.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicitPointer.ts index 362153f0c8..564936db7d 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicitPointer.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionExplicitPointer.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ArrayRecursiveUnionExplicitPointer = _test_llm_schema({ model: "chatgpt", name: "ArrayRecursiveUnionExplicitPointer", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionImplicit.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionImplicit.ts index e297b7ee28..0afcad5578 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionImplicit.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRecursiveUnionImplicit.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ArrayRecursiveUnionImplicit = _test_llm_schema({ model: "chatgpt", name: "ArrayRecursiveUnionImplicit", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedNullable.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedNullable.ts index a77a8128b3..e8134edb4c 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedNullable.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedNullable.ts @@ -6,4 +6,4 @@ import { ArrayRepeatedNullable } from "../../../structures/ArrayRepeatedNullable export const test_llm_schema_chatgpt_ArrayRepeatedNullable = _test_llm_schema({ model: "chatgpt", name: "ArrayRepeatedNullable", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedRequired.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedRequired.ts index 8b8670d2f3..18374d1c83 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedRequired.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedRequired.ts @@ -6,4 +6,4 @@ import { ArrayRepeatedRequired } from "../../../structures/ArrayRepeatedRequired export const test_llm_schema_chatgpt_ArrayRepeatedRequired = _test_llm_schema({ model: "chatgpt", name: "ArrayRepeatedRequired", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedUnion.ts index b7468827a6..46f58c6666 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedUnion.ts @@ -6,4 +6,4 @@ import { ArrayRepeatedUnion } from "../../../structures/ArrayRepeatedUnion"; export const test_llm_schema_chatgpt_ArrayRepeatedUnion = _test_llm_schema({ model: "chatgpt", name: "ArrayRepeatedUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedUnionWithTuple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedUnionWithTuple.ts deleted file mode 100644 index cd3816d8be..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayRepeatedUnionWithTuple.ts +++ /dev/null @@ -1,10 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ArrayRepeatedUnionWithTuple } from "../../../structures/ArrayRepeatedUnionWithTuple"; - -export const test_llm_schema_chatgpt_ArrayRepeatedUnionWithTuple = - _test_llm_schema({ - model: "chatgpt", - name: "ArrayRepeatedUnionWithTuple", - })(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArraySimple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArraySimple.ts index 152436522d..47b10b79e6 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArraySimple.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArraySimple.ts @@ -6,4 +6,4 @@ import { ArraySimple } from "../../../structures/ArraySimple"; export const test_llm_schema_chatgpt_ArraySimple = _test_llm_schema({ model: "chatgpt", name: "ArraySimple", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayUnion.ts index 0321b1585c..388c02963b 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ArrayUnion.ts @@ -6,4 +6,4 @@ import { ArrayUnion } from "../../../structures/ArrayUnion"; export const test_llm_schema_chatgpt_ArrayUnion = _test_llm_schema({ model: "chatgpt", name: "ArrayUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicAlias.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicAlias.ts deleted file mode 100644 index 5b7755a9c3..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicAlias.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { AtomicAlias } from "../../../structures/AtomicAlias"; - -export const test_llm_schema_chatgpt_AtomicAlias = _test_llm_schema({ - model: "chatgpt", - name: "AtomicAlias", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicClass.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicClass.ts deleted file mode 100644 index 282816b469..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicClass.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { AtomicClass } from "../../../structures/AtomicClass"; - -export const test_llm_schema_chatgpt_AtomicClass = _test_llm_schema({ - model: "chatgpt", - name: "AtomicClass", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicIntersection.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicIntersection.ts deleted file mode 100644 index 601f5bebf1..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicIntersection.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { AtomicIntersection } from "../../../structures/AtomicIntersection"; - -export const test_llm_schema_chatgpt_AtomicIntersection = _test_llm_schema({ - model: "chatgpt", - name: "AtomicIntersection", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicSimple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicSimple.ts deleted file mode 100644 index 36dd220642..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicSimple.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { AtomicSimple } from "../../../structures/AtomicSimple"; - -export const test_llm_schema_chatgpt_AtomicSimple = _test_llm_schema({ - model: "chatgpt", - name: "AtomicSimple", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicUnion.ts index 0306604fa7..60e2683d98 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_AtomicUnion.ts @@ -6,4 +6,4 @@ import { AtomicUnion } from "../../../structures/AtomicUnion"; export const test_llm_schema_chatgpt_AtomicUnion = _test_llm_schema({ model: "chatgpt", name: "AtomicUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassGetter.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassGetter.ts index b810f3c56a..34a65efa3f 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassGetter.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassGetter.ts @@ -6,4 +6,4 @@ import { ClassGetter } from "../../../structures/ClassGetter"; export const test_llm_schema_chatgpt_ClassGetter = _test_llm_schema({ model: "chatgpt", name: "ClassGetter", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassMethod.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassMethod.ts index f86646a536..997f03c9bc 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassMethod.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassMethod.ts @@ -6,4 +6,4 @@ import { ClassMethod } from "../../../structures/ClassMethod"; export const test_llm_schema_chatgpt_ClassMethod = _test_llm_schema({ model: "chatgpt", name: "ClassMethod", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassPropertyAssignment.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassPropertyAssignment.ts index 77f0cea219..09456d1876 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassPropertyAssignment.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ClassPropertyAssignment.ts @@ -8,4 +8,4 @@ export const test_llm_schema_chatgpt_ClassPropertyAssignment = _test_llm_schema( model: "chatgpt", name: "ClassPropertyAssignment", }, -)(typia.llm.schema()); +)(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArray.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArray.ts index 43b32661b8..bf60e6f57a 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArray.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArray.ts @@ -6,4 +6,4 @@ import { CommentTagArray } from "../../../structures/CommentTagArray"; export const test_llm_schema_chatgpt_CommentTagArray = _test_llm_schema({ model: "chatgpt", name: "CommentTagArray", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArrayUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArrayUnion.ts index ff39912e36..f7af428d24 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArrayUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagArrayUnion.ts @@ -6,4 +6,4 @@ import { CommentTagArrayUnion } from "../../../structures/CommentTagArrayUnion"; export const test_llm_schema_chatgpt_CommentTagArrayUnion = _test_llm_schema({ model: "chatgpt", name: "CommentTagArrayUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagAtomicUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagAtomicUnion.ts index 1e9b6d2ca4..fbb6116823 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagAtomicUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagAtomicUnion.ts @@ -6,4 +6,4 @@ import { CommentTagAtomicUnion } from "../../../structures/CommentTagAtomicUnion export const test_llm_schema_chatgpt_CommentTagAtomicUnion = _test_llm_schema({ model: "chatgpt", name: "CommentTagAtomicUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagDefault.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagDefault.ts index 7e959513ff..978e22ce3b 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagDefault.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagDefault.ts @@ -6,4 +6,4 @@ import { CommentTagDefault } from "../../../structures/CommentTagDefault"; export const test_llm_schema_chatgpt_CommentTagDefault = _test_llm_schema({ model: "chatgpt", name: "CommentTagDefault", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagFormat.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagFormat.ts index e69826f850..122f7e5e4a 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagFormat.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagFormat.ts @@ -6,4 +6,4 @@ import { CommentTagFormat } from "../../../structures/CommentTagFormat"; export const test_llm_schema_chatgpt_CommentTagFormat = _test_llm_schema({ model: "chatgpt", name: "CommentTagFormat", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagLength.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagLength.ts index 3698449f71..d6b5697947 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagLength.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagLength.ts @@ -6,4 +6,4 @@ import { CommentTagLength } from "../../../structures/CommentTagLength"; export const test_llm_schema_chatgpt_CommentTagLength = _test_llm_schema({ model: "chatgpt", name: "CommentTagLength", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagObjectUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagObjectUnion.ts index cce03c6224..1913a6b35c 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagObjectUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagObjectUnion.ts @@ -6,4 +6,4 @@ import { CommentTagObjectUnion } from "../../../structures/CommentTagObjectUnion export const test_llm_schema_chatgpt_CommentTagObjectUnion = _test_llm_schema({ model: "chatgpt", name: "CommentTagObjectUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagPattern.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagPattern.ts index e336988ce8..de2aeb5d1c 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagPattern.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagPattern.ts @@ -6,4 +6,4 @@ import { CommentTagPattern } from "../../../structures/CommentTagPattern"; export const test_llm_schema_chatgpt_CommentTagPattern = _test_llm_schema({ model: "chatgpt", name: "CommentTagPattern", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagRange.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagRange.ts index 7786a745f4..dcde1d3246 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagRange.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagRange.ts @@ -6,4 +6,4 @@ import { CommentTagRange } from "../../../structures/CommentTagRange"; export const test_llm_schema_chatgpt_CommentTagRange = _test_llm_schema({ model: "chatgpt", name: "CommentTagRange", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagType.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagType.ts index 116d7fe6cc..33df7f6f06 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagType.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_CommentTagType.ts @@ -6,4 +6,4 @@ import { CommentTagType } from "../../../structures/CommentTagType"; export const test_llm_schema_chatgpt_CommentTagType = _test_llm_schema({ model: "chatgpt", name: "CommentTagType", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicAbsorbed.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicAbsorbed.ts index c275ce4ee5..fba8adbde4 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicAbsorbed.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicAbsorbed.ts @@ -6,4 +6,4 @@ import { ConstantAtomicAbsorbed } from "../../../structures/ConstantAtomicAbsorb export const test_llm_schema_chatgpt_ConstantAtomicAbsorbed = _test_llm_schema({ model: "chatgpt", name: "ConstantAtomicAbsorbed", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicSimple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicSimple.ts deleted file mode 100644 index 5f2e6a29f9..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicSimple.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ConstantAtomicSimple } from "../../../structures/ConstantAtomicSimple"; - -export const test_llm_schema_chatgpt_ConstantAtomicSimple = _test_llm_schema({ - model: "chatgpt", - name: "ConstantAtomicSimple", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicTagged.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicTagged.ts index 4cef0e6233..955f7c6483 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicTagged.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicTagged.ts @@ -6,4 +6,4 @@ import { ConstantAtomicTagged } from "../../../structures/ConstantAtomicTagged"; export const test_llm_schema_chatgpt_ConstantAtomicTagged = _test_llm_schema({ model: "chatgpt", name: "ConstantAtomicTagged", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicUnion.ts index b7b42efcca..241ae81e23 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicUnion.ts @@ -6,4 +6,4 @@ import { ConstantAtomicUnion } from "../../../structures/ConstantAtomicUnion"; export const test_llm_schema_chatgpt_ConstantAtomicUnion = _test_llm_schema({ model: "chatgpt", name: "ConstantAtomicUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicWrapper.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicWrapper.ts deleted file mode 100644 index 9a3bbcce18..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantAtomicWrapper.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ConstantAtomicWrapper } from "../../../structures/ConstantAtomicWrapper"; - -export const test_llm_schema_chatgpt_ConstantAtomicWrapper = _test_llm_schema({ - model: "chatgpt", - name: "ConstantAtomicWrapper", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantConstEnumeration.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantConstEnumeration.ts index 3c840b62dd..38cac780bd 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantConstEnumeration.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantConstEnumeration.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ConstantConstEnumeration = _test_llm_schema({ model: "chatgpt", name: "ConstantConstEnumeration", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantEnumeration.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantEnumeration.ts index 65eb354f3d..369bb5602e 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantEnumeration.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantEnumeration.ts @@ -6,4 +6,4 @@ import { ConstantEnumeration } from "../../../structures/ConstantEnumeration"; export const test_llm_schema_chatgpt_ConstantEnumeration = _test_llm_schema({ model: "chatgpt", name: "ConstantEnumeration", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantIntersection.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantIntersection.ts deleted file mode 100644 index 9498323336..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ConstantIntersection.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ConstantIntersection } from "../../../structures/ConstantIntersection"; - -export const test_llm_schema_chatgpt_ConstantIntersection = _test_llm_schema({ - model: "chatgpt", - name: "ConstantIntersection", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicArray.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicArray.ts index 05f3cd1969..34c743a2c8 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicArray.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicArray.ts @@ -6,4 +6,4 @@ import { DynamicArray } from "../../../structures/DynamicArray"; export const test_llm_schema_chatgpt_DynamicArray = _test_llm_schema({ model: "chatgpt", name: "DynamicArray", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicComposite.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicComposite.ts index 80255d62ef..fd244bcccd 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicComposite.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicComposite.ts @@ -6,4 +6,4 @@ import { DynamicComposite } from "../../../structures/DynamicComposite"; export const test_llm_schema_chatgpt_DynamicComposite = _test_llm_schema({ model: "chatgpt", name: "DynamicComposite", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicConstant.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicConstant.ts index 2a16e48a65..e35904b854 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicConstant.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicConstant.ts @@ -6,4 +6,4 @@ import { DynamicConstant } from "../../../structures/DynamicConstant"; export const test_llm_schema_chatgpt_DynamicConstant = _test_llm_schema({ model: "chatgpt", name: "DynamicConstant", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicEnumeration.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicEnumeration.ts index e1a4e5f8b1..7d24eb0e0d 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicEnumeration.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicEnumeration.ts @@ -6,4 +6,4 @@ import { DynamicEnumeration } from "../../../structures/DynamicEnumeration"; export const test_llm_schema_chatgpt_DynamicEnumeration = _test_llm_schema({ model: "chatgpt", name: "DynamicEnumeration", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicNever.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicNever.ts index 118d853263..3a28e34c2a 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicNever.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicNever.ts @@ -6,4 +6,4 @@ import { DynamicNever } from "../../../structures/DynamicNever"; export const test_llm_schema_chatgpt_DynamicNever = _test_llm_schema({ model: "chatgpt", name: "DynamicNever", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicSimple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicSimple.ts index b50bf602f3..3b5b13299f 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicSimple.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicSimple.ts @@ -6,4 +6,4 @@ import { DynamicSimple } from "../../../structures/DynamicSimple"; export const test_llm_schema_chatgpt_DynamicSimple = _test_llm_schema({ model: "chatgpt", name: "DynamicSimple", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTemplate.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTemplate.ts index eda678d1ba..ebc10bb3d6 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTemplate.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTemplate.ts @@ -6,4 +6,4 @@ import { DynamicTemplate } from "../../../structures/DynamicTemplate"; export const test_llm_schema_chatgpt_DynamicTemplate = _test_llm_schema({ model: "chatgpt", name: "DynamicTemplate", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTree.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTree.ts index b626d4c8c3..e24d56fc3d 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTree.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicTree.ts @@ -6,4 +6,4 @@ import { DynamicTree } from "../../../structures/DynamicTree"; export const test_llm_schema_chatgpt_DynamicTree = _test_llm_schema({ model: "chatgpt", name: "DynamicTree", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUndefined.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUndefined.ts index 7d508b5378..0681b4438f 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUndefined.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUndefined.ts @@ -6,4 +6,4 @@ import { DynamicUndefined } from "../../../structures/DynamicUndefined"; export const test_llm_schema_chatgpt_DynamicUndefined = _test_llm_schema({ model: "chatgpt", name: "DynamicUndefined", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUnion.ts index 4032e5b7c0..4468083657 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_DynamicUnion.ts @@ -6,4 +6,4 @@ import { DynamicUnion } from "../../../structures/DynamicUnion"; export const test_llm_schema_chatgpt_DynamicUnion = _test_llm_schema({ model: "chatgpt", name: "DynamicUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectAlias.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectAlias.ts index cba6efff24..5b82c1173e 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectAlias.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectAlias.ts @@ -6,4 +6,4 @@ import { ObjectAlias } from "../../../structures/ObjectAlias"; export const test_llm_schema_chatgpt_ObjectAlias = _test_llm_schema({ model: "chatgpt", name: "ObjectAlias", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDate.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDate.ts index f1c731fb71..772e021d5a 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDate.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDate.ts @@ -6,4 +6,4 @@ import { ObjectDate } from "../../../structures/ObjectDate"; export const test_llm_schema_chatgpt_ObjectDate = _test_llm_schema({ model: "chatgpt", name: "ObjectDate", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDescription.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDescription.ts index 6dd3b3ca66..7db73e35b7 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDescription.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDescription.ts @@ -6,4 +6,4 @@ import { ObjectDescription } from "../../../structures/ObjectDescription"; export const test_llm_schema_chatgpt_ObjectDescription = _test_llm_schema({ model: "chatgpt", name: "ObjectDescription", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDynamic.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDynamic.ts index 5252d25b11..b70d973c52 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDynamic.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectDynamic.ts @@ -6,4 +6,4 @@ import { ObjectDynamic } from "../../../structures/ObjectDynamic"; export const test_llm_schema_chatgpt_ObjectDynamic = _test_llm_schema({ model: "chatgpt", name: "ObjectDynamic", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGeneric.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGeneric.ts deleted file mode 100644 index 1ad2aa2a38..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGeneric.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ObjectGeneric } from "../../../structures/ObjectGeneric"; - -export const test_llm_schema_chatgpt_ObjectGeneric = _test_llm_schema({ - model: "chatgpt", - name: "ObjectGeneric", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericAlias.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericAlias.ts index 5b143eee3c..778040b83b 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericAlias.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericAlias.ts @@ -6,4 +6,4 @@ import { ObjectGenericAlias } from "../../../structures/ObjectGenericAlias"; export const test_llm_schema_chatgpt_ObjectGenericAlias = _test_llm_schema({ model: "chatgpt", name: "ObjectGenericAlias", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericArray.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericArray.ts index ce92bf8eee..2bff235c29 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericArray.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericArray.ts @@ -6,4 +6,4 @@ import { ObjectGenericArray } from "../../../structures/ObjectGenericArray"; export const test_llm_schema_chatgpt_ObjectGenericArray = _test_llm_schema({ model: "chatgpt", name: "ObjectGenericArray", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericUnion.ts index a25f6bd2e0..06c87d101d 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectGenericUnion.ts @@ -6,4 +6,4 @@ import { ObjectGenericUnion } from "../../../structures/ObjectGenericUnion"; export const test_llm_schema_chatgpt_ObjectGenericUnion = _test_llm_schema({ model: "chatgpt", name: "ObjectGenericUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectHierarchical.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectHierarchical.ts deleted file mode 100644 index 2ebcd0b508..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectHierarchical.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ObjectHierarchical } from "../../../structures/ObjectHierarchical"; - -export const test_llm_schema_chatgpt_ObjectHierarchical = _test_llm_schema({ - model: "chatgpt", - name: "ObjectHierarchical", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectInternal.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectInternal.ts index 271b15e83a..6a93c7c7b2 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectInternal.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectInternal.ts @@ -6,4 +6,4 @@ import { ObjectInternal } from "../../../structures/ObjectInternal"; export const test_llm_schema_chatgpt_ObjectInternal = _test_llm_schema({ model: "chatgpt", name: "ObjectInternal", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectIntersection.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectIntersection.ts index 19edcdc9d9..eea2567fb7 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectIntersection.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectIntersection.ts @@ -6,4 +6,4 @@ import { ObjectIntersection } from "../../../structures/ObjectIntersection"; export const test_llm_schema_chatgpt_ObjectIntersection = _test_llm_schema({ model: "chatgpt", name: "ObjectIntersection", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectJsonTag.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectJsonTag.ts index 7500afb71e..8591760be1 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectJsonTag.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectJsonTag.ts @@ -6,4 +6,4 @@ import { ObjectJsonTag } from "../../../structures/ObjectJsonTag"; export const test_llm_schema_chatgpt_ObjectJsonTag = _test_llm_schema({ model: "chatgpt", name: "ObjectJsonTag", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralProperty.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralProperty.ts index d8c9f27949..cc848ad0bb 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralProperty.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralProperty.ts @@ -6,4 +6,4 @@ import { ObjectLiteralProperty } from "../../../structures/ObjectLiteralProperty export const test_llm_schema_chatgpt_ObjectLiteralProperty = _test_llm_schema({ model: "chatgpt", name: "ObjectLiteralProperty", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralType.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralType.ts index 691e644dcb..d4d64d0aee 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralType.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectLiteralType.ts @@ -6,4 +6,4 @@ import { ObjectLiteralType } from "../../../structures/ObjectLiteralType"; export const test_llm_schema_chatgpt_ObjectLiteralType = _test_llm_schema({ model: "chatgpt", name: "ObjectLiteralType", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectNullable.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectNullable.ts index 54875df1c4..8803d48607 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectNullable.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectNullable.ts @@ -6,4 +6,4 @@ import { ObjectNullable } from "../../../structures/ObjectNullable"; export const test_llm_schema_chatgpt_ObjectNullable = _test_llm_schema({ model: "chatgpt", name: "ObjectNullable", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectOptional.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectOptional.ts index 53ab0396d9..e21f8fdd66 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectOptional.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectOptional.ts @@ -6,4 +6,4 @@ import { ObjectOptional } from "../../../structures/ObjectOptional"; export const test_llm_schema_chatgpt_ObjectOptional = _test_llm_schema({ model: "chatgpt", name: "ObjectOptional", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartial.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartial.ts index 5e26c05b96..310ee2fe75 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartial.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartial.ts @@ -6,4 +6,4 @@ import { ObjectPartial } from "../../../structures/ObjectPartial"; export const test_llm_schema_chatgpt_ObjectPartial = _test_llm_schema({ model: "chatgpt", name: "ObjectPartial", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartialAndRequired.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartialAndRequired.ts index fe06159197..7edeb95e70 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartialAndRequired.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPartialAndRequired.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ObjectPartialAndRequired = _test_llm_schema({ model: "chatgpt", name: "ObjectPartialAndRequired", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPrimitive.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPrimitive.ts index a29bebc881..f0480b8e63 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPrimitive.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPrimitive.ts @@ -6,4 +6,4 @@ import { ObjectPrimitive } from "../../../structures/ObjectPrimitive"; export const test_llm_schema_chatgpt_ObjectPrimitive = _test_llm_schema({ model: "chatgpt", name: "ObjectPrimitive", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPropertyNullable.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPropertyNullable.ts deleted file mode 100644 index af980fa0d0..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectPropertyNullable.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ObjectPropertyNullable } from "../../../structures/ObjectPropertyNullable"; - -export const test_llm_schema_chatgpt_ObjectPropertyNullable = _test_llm_schema({ - model: "chatgpt", - name: "ObjectPropertyNullable", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRecursive.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRecursive.ts index 04d6fa3b5b..544aa31bc4 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRecursive.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRecursive.ts @@ -6,4 +6,4 @@ import { ObjectRecursive } from "../../../structures/ObjectRecursive"; export const test_llm_schema_chatgpt_ObjectRecursive = _test_llm_schema({ model: "chatgpt", name: "ObjectRecursive", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRequired.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRequired.ts index 83d1c24a49..ccbaa85b1c 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRequired.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectRequired.ts @@ -6,4 +6,4 @@ import { ObjectRequired } from "../../../structures/ObjectRequired"; export const test_llm_schema_chatgpt_ObjectRequired = _test_llm_schema({ model: "chatgpt", name: "ObjectRequired", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectSimple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectSimple.ts index f0217c1280..3ba08796b3 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectSimple.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectSimple.ts @@ -6,4 +6,4 @@ import { ObjectSimple } from "../../../structures/ObjectSimple"; export const test_llm_schema_chatgpt_ObjectSimple = _test_llm_schema({ model: "chatgpt", name: "ObjectSimple", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectTuple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectTuple.ts deleted file mode 100644 index 27601e29c3..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectTuple.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ObjectTuple } from "../../../structures/ObjectTuple"; - -export const test_llm_schema_chatgpt_ObjectTuple = _test_llm_schema({ - model: "chatgpt", - name: "ObjectTuple", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUndefined.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUndefined.ts index ba3764abf1..aaba3f78fc 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUndefined.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUndefined.ts @@ -6,4 +6,4 @@ import { ObjectUndefined } from "../../../structures/ObjectUndefined"; export const test_llm_schema_chatgpt_ObjectUndefined = _test_llm_schema({ model: "chatgpt", name: "ObjectUndefined", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionComposite.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionComposite.ts index 4af899a4e0..06d6cb35bf 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionComposite.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionComposite.ts @@ -6,4 +6,4 @@ import { ObjectUnionComposite } from "../../../structures/ObjectUnionComposite"; export const test_llm_schema_chatgpt_ObjectUnionComposite = _test_llm_schema({ model: "chatgpt", name: "ObjectUnionComposite", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionCompositePointer.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionCompositePointer.ts index ef5c6234de..adda1596b6 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionCompositePointer.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionCompositePointer.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ObjectUnionCompositePointer = _test_llm_schema({ model: "chatgpt", name: "ObjectUnionCompositePointer", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionDouble.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionDouble.ts index 265c3d1228..d1f6b36001 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionDouble.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionDouble.ts @@ -6,4 +6,4 @@ import { ObjectUnionDouble } from "../../../structures/ObjectUnionDouble"; export const test_llm_schema_chatgpt_ObjectUnionDouble = _test_llm_schema({ model: "chatgpt", name: "ObjectUnionDouble", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicit.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicit.ts index 7da39f4d52..8022818500 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicit.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicit.ts @@ -6,4 +6,4 @@ import { ObjectUnionExplicit } from "../../../structures/ObjectUnionExplicit"; export const test_llm_schema_chatgpt_ObjectUnionExplicit = _test_llm_schema({ model: "chatgpt", name: "ObjectUnionExplicit", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicitPointer.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicitPointer.ts index 465fdf1325..e452455c74 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicitPointer.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionExplicitPointer.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ObjectUnionExplicitPointer = _test_llm_schema({ model: "chatgpt", name: "ObjectUnionExplicitPointer", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionImplicit.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionImplicit.ts index 5543b56b68..e39f18a317 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionImplicit.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionImplicit.ts @@ -6,4 +6,4 @@ import { ObjectUnionImplicit } from "../../../structures/ObjectUnionImplicit"; export const test_llm_schema_chatgpt_ObjectUnionImplicit = _test_llm_schema({ model: "chatgpt", name: "ObjectUnionImplicit", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionNonPredictable.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionNonPredictable.ts index c3f0ce66f6..730b3d0c57 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionNonPredictable.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ObjectUnionNonPredictable.ts @@ -7,4 +7,4 @@ export const test_llm_schema_chatgpt_ObjectUnionNonPredictable = _test_llm_schema({ model: "chatgpt", name: "ObjectUnionNonPredictable", - })(typia.llm.schema()); + })(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateAtomic.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateAtomic.ts index 9246c4a376..fd5a0da87f 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateAtomic.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateAtomic.ts @@ -6,4 +6,4 @@ import { TemplateAtomic } from "../../../structures/TemplateAtomic"; export const test_llm_schema_chatgpt_TemplateAtomic = _test_llm_schema({ model: "chatgpt", name: "TemplateAtomic", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateConstant.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateConstant.ts index 185806015b..89817d91eb 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateConstant.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateConstant.ts @@ -6,4 +6,4 @@ import { TemplateConstant } from "../../../structures/TemplateConstant"; export const test_llm_schema_chatgpt_TemplateConstant = _test_llm_schema({ model: "chatgpt", name: "TemplateConstant", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateUnion.ts index 592540ec04..c606e8c086 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TemplateUnion.ts @@ -6,4 +6,4 @@ import { TemplateUnion } from "../../../structures/TemplateUnion"; export const test_llm_schema_chatgpt_TemplateUnion = _test_llm_schema({ model: "chatgpt", name: "TemplateUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonArray.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonArray.ts deleted file mode 100644 index c54c31fa4b..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonArray.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ToJsonArray } from "../../../structures/ToJsonArray"; - -export const test_llm_schema_chatgpt_ToJsonArray = _test_llm_schema({ - model: "chatgpt", - name: "ToJsonArray", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonAtomicSimple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonAtomicSimple.ts deleted file mode 100644 index c53a092ec7..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonAtomicSimple.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ToJsonAtomicSimple } from "../../../structures/ToJsonAtomicSimple"; - -export const test_llm_schema_chatgpt_ToJsonAtomicSimple = _test_llm_schema({ - model: "chatgpt", - name: "ToJsonAtomicSimple", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonAtomicUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonAtomicUnion.ts index a2a41aa766..4a829fd7ba 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonAtomicUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonAtomicUnion.ts @@ -6,4 +6,4 @@ import { ToJsonAtomicUnion } from "../../../structures/ToJsonAtomicUnion"; export const test_llm_schema_chatgpt_ToJsonAtomicUnion = _test_llm_schema({ model: "chatgpt", name: "ToJsonAtomicUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonDouble.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonDouble.ts index 6c0bd29dd0..269fc3222e 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonDouble.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonDouble.ts @@ -6,4 +6,4 @@ import { ToJsonDouble } from "../../../structures/ToJsonDouble"; export const test_llm_schema_chatgpt_ToJsonDouble = _test_llm_schema({ model: "chatgpt", name: "ToJsonDouble", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonNull.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonNull.ts index f853c08cd9..8519837bcd 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonNull.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonNull.ts @@ -6,4 +6,4 @@ import { ToJsonNull } from "../../../structures/ToJsonNull"; export const test_llm_schema_chatgpt_ToJsonNull = _test_llm_schema({ model: "chatgpt", name: "ToJsonNull", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonTuple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonTuple.ts deleted file mode 100644 index 56ab939272..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonTuple.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { ToJsonTuple } from "../../../structures/ToJsonTuple"; - -export const test_llm_schema_chatgpt_ToJsonTuple = _test_llm_schema({ - model: "chatgpt", - name: "ToJsonTuple", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonUnion.ts index f6637546fd..835cbdbf6e 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_ToJsonUnion.ts @@ -6,4 +6,4 @@ import { ToJsonUnion } from "../../../structures/ToJsonUnion"; export const test_llm_schema_chatgpt_ToJsonUnion = _test_llm_schema({ model: "chatgpt", name: "ToJsonUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleHierarchical.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleHierarchical.ts deleted file mode 100644 index 977a2c1bfe..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleHierarchical.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { TupleHierarchical } from "../../../structures/TupleHierarchical"; - -export const test_llm_schema_chatgpt_TupleHierarchical = _test_llm_schema({ - model: "chatgpt", - name: "TupleHierarchical", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestArray.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestArray.ts deleted file mode 100644 index c185db7d37..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestArray.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { TupleRestArray } from "../../../structures/TupleRestArray"; - -export const test_llm_schema_chatgpt_TupleRestArray = _test_llm_schema({ - model: "chatgpt", - name: "TupleRestArray", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestAtomic.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestAtomic.ts deleted file mode 100644 index 56484e88ac..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestAtomic.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { TupleRestAtomic } from "../../../structures/TupleRestAtomic"; - -export const test_llm_schema_chatgpt_TupleRestAtomic = _test_llm_schema({ - model: "chatgpt", - name: "TupleRestAtomic", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestObject.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestObject.ts deleted file mode 100644 index 38f35ad31f..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TupleRestObject.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { TupleRestObject } from "../../../structures/TupleRestObject"; - -export const test_llm_schema_chatgpt_TupleRestObject = _test_llm_schema({ - model: "chatgpt", - name: "TupleRestObject", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArray.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArray.ts index 817683185e..6a23e0304f 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArray.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArray.ts @@ -6,4 +6,4 @@ import { TypeTagArray } from "../../../structures/TypeTagArray"; export const test_llm_schema_chatgpt_TypeTagArray = _test_llm_schema({ model: "chatgpt", name: "TypeTagArray", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArrayUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArrayUnion.ts index 2b2064f18d..7006bc46ba 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArrayUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagArrayUnion.ts @@ -6,4 +6,4 @@ import { TypeTagArrayUnion } from "../../../structures/TypeTagArrayUnion"; export const test_llm_schema_chatgpt_TypeTagArrayUnion = _test_llm_schema({ model: "chatgpt", name: "TypeTagArrayUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagAtomicUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagAtomicUnion.ts index d810a1e3bf..84c2be7048 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagAtomicUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagAtomicUnion.ts @@ -6,4 +6,4 @@ import { TypeTagAtomicUnion } from "../../../structures/TypeTagAtomicUnion"; export const test_llm_schema_chatgpt_TypeTagAtomicUnion = _test_llm_schema({ model: "chatgpt", name: "TypeTagAtomicUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagCustom.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagCustom.ts index f5a9af00d1..19d9380727 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagCustom.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagCustom.ts @@ -6,4 +6,4 @@ import { TypeTagCustom } from "../../../structures/TypeTagCustom"; export const test_llm_schema_chatgpt_TypeTagCustom = _test_llm_schema({ model: "chatgpt", name: "TypeTagCustom", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagDefault.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagDefault.ts index ba2c89e1c0..00417d50dc 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagDefault.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagDefault.ts @@ -6,4 +6,4 @@ import { TypeTagDefault } from "../../../structures/TypeTagDefault"; export const test_llm_schema_chatgpt_TypeTagDefault = _test_llm_schema({ model: "chatgpt", name: "TypeTagDefault", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagFormat.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagFormat.ts index 27de5798cc..f4743f6456 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagFormat.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagFormat.ts @@ -6,4 +6,4 @@ import { TypeTagFormat } from "../../../structures/TypeTagFormat"; export const test_llm_schema_chatgpt_TypeTagFormat = _test_llm_schema({ model: "chatgpt", name: "TypeTagFormat", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagLength.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagLength.ts index cffadf797a..2594648620 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagLength.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagLength.ts @@ -6,4 +6,4 @@ import { TypeTagLength } from "../../../structures/TypeTagLength"; export const test_llm_schema_chatgpt_TypeTagLength = _test_llm_schema({ model: "chatgpt", name: "TypeTagLength", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagMatrix.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagMatrix.ts index 4895aebfb8..5a514fc6ef 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagMatrix.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagMatrix.ts @@ -6,4 +6,4 @@ import { TypeTagMatrix } from "../../../structures/TypeTagMatrix"; export const test_llm_schema_chatgpt_TypeTagMatrix = _test_llm_schema({ model: "chatgpt", name: "TypeTagMatrix", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagObjectUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagObjectUnion.ts index 089a2dd217..60460b88a7 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagObjectUnion.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagObjectUnion.ts @@ -6,4 +6,4 @@ import { TypeTagObjectUnion } from "../../../structures/TypeTagObjectUnion"; export const test_llm_schema_chatgpt_TypeTagObjectUnion = _test_llm_schema({ model: "chatgpt", name: "TypeTagObjectUnion", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagPattern.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagPattern.ts index 8f233334c8..128c54c20f 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagPattern.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagPattern.ts @@ -6,4 +6,4 @@ import { TypeTagPattern } from "../../../structures/TypeTagPattern"; export const test_llm_schema_chatgpt_TypeTagPattern = _test_llm_schema({ model: "chatgpt", name: "TypeTagPattern", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagRange.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagRange.ts index 627acbbde5..35e148640b 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagRange.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagRange.ts @@ -6,4 +6,4 @@ import { TypeTagRange } from "../../../structures/TypeTagRange"; export const test_llm_schema_chatgpt_TypeTagRange = _test_llm_schema({ model: "chatgpt", name: "TypeTagRange", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagTuple.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagTuple.ts deleted file mode 100644 index 28ca57af12..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagTuple.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { TypeTagTuple } from "../../../structures/TypeTagTuple"; - -export const test_llm_schema_chatgpt_TypeTagTuple = _test_llm_schema({ - model: "chatgpt", - name: "TypeTagTuple", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagType.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagType.ts index c43e0f3d18..4930ddcc99 100644 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagType.ts +++ b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_TypeTagType.ts @@ -6,4 +6,4 @@ import { TypeTagType } from "../../../structures/TypeTagType"; export const test_llm_schema_chatgpt_TypeTagType = _test_llm_schema({ model: "chatgpt", name: "TypeTagType", -})(typia.llm.schema()); +})(typia.llm.schema({})); diff --git a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_UltimateUnion.ts b/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_UltimateUnion.ts deleted file mode 100644 index 5ee54c6954..0000000000 --- a/test/src/features/llm.schema/chatgpt/test_llm_schema_chatgpt_UltimateUnion.ts +++ /dev/null @@ -1,9 +0,0 @@ -import typia from "typia"; - -import { _test_llm_schema } from "../../../internal/_test_llm_schema"; -import { UltimateUnion } from "../../../structures/UltimateUnion"; - -export const test_llm_schema_chatgpt_UltimateUnion = _test_llm_schema({ - model: "chatgpt", - name: "UltimateUnion", -})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ArrayRecursive.ts b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ArrayRecursive.ts new file mode 100644 index 0000000000..484cf4d84e --- /dev/null +++ b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ArrayRecursive.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ArrayRecursive } from "../../../structures/ArrayRecursive"; + +export const test_llm_schema_gemini_ArrayRecursive = _test_llm_schema({ + model: "gemini", + name: "ArrayRecursive", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/gemini/test_llm_schema_gemini_DynamicTree.ts b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_DynamicTree.ts new file mode 100644 index 0000000000..e2600f1708 --- /dev/null +++ b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_DynamicTree.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { DynamicTree } from "../../../structures/DynamicTree"; + +export const test_llm_schema_gemini_DynamicTree = _test_llm_schema({ + model: "gemini", + name: "DynamicTree", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectPartial.ts b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectPartial.ts new file mode 100644 index 0000000000..8c0e64605b --- /dev/null +++ b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectPartial.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectPartial } from "../../../structures/ObjectPartial"; + +export const test_llm_schema_gemini_ObjectPartial = _test_llm_schema({ + model: "gemini", + name: "ObjectPartial", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectPartialAndRequired.ts b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectPartialAndRequired.ts new file mode 100644 index 0000000000..90ad60e246 --- /dev/null +++ b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectPartialAndRequired.ts @@ -0,0 +1,11 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectPartialAndRequired } from "../../../structures/ObjectPartialAndRequired"; + +export const test_llm_schema_gemini_ObjectPartialAndRequired = _test_llm_schema( + { + model: "gemini", + name: "ObjectPartialAndRequired", + }, +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectRecursive.ts b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectRecursive.ts new file mode 100644 index 0000000000..9d236db42a --- /dev/null +++ b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectRecursive.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectRecursive } from "../../../structures/ObjectRecursive"; + +export const test_llm_schema_gemini_ObjectRecursive = _test_llm_schema({ + model: "gemini", + name: "ObjectRecursive", +})(typia.llm.schema()); diff --git a/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectRequired.ts b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectRequired.ts new file mode 100644 index 0000000000..0e1b27e110 --- /dev/null +++ b/test/src/features/llm.schema/gemini/test_llm_schema_gemini_ObjectRequired.ts @@ -0,0 +1,9 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../../internal/_test_llm_schema"; +import { ObjectRequired } from "../../../structures/ObjectRequired"; + +export const test_llm_schema_gemini_ObjectRequired = _test_llm_schema({ + model: "gemini", + name: "ObjectRequired", +})(typia.llm.schema()); diff --git a/test/src/internal/_test_json_application.ts b/test/src/internal/_test_json_application.ts new file mode 100644 index 0000000000..9a4b1e186e --- /dev/null +++ b/test/src/internal/_test_json_application.ts @@ -0,0 +1,42 @@ +import fs from "fs"; +import { IJsonApplication } from "typia"; + +import { primitive_equal_to } from "../helpers/primitive_equal_to"; + +export const _test_json_application = + (props: { version: string; name: string }) => + >(app: App) => { + const actual: IJsonApplication = JSON.parse( + fs.readFileSync( + `${__dirname}/../../schemas/json.application/v${props.version.replace(".", "_")}/${props.name}.json`, + "utf8", + ), + ); + sort(app); + sort(actual); + + if (primitive_equal_to(app, actual) === false) + throw new Error( + `Bug on typia.json.application<[${props.name}], "${props.version}">(): failed to understand the ${props.name} type.`, + ); + }; + +function sort(app: IJsonApplication): void { + function object(elem: object) { + for (const value of Object.values(elem)) iterate(value); + } + function array(elem: Array) { + for (const v of elem) iterate(v); + elem.sort((x, y) => { + const alpha = JSON.stringify(x); + const beta = JSON.stringify(y); + return alpha < beta ? -1 : alpha === beta ? 0 : 1; + }); + } + function iterate(elem: any) { + if (elem === null || elem === undefined) return; + else if (Array.isArray(elem)) array(elem); + else if (typeof elem === "object") object(elem); + } + iterate(app); +} diff --git a/test/src/internal/_test_json_schemas.ts b/test/src/internal/_test_json_schemas.ts index 0964d60b58..b35393fe32 100644 --- a/test/src/internal/_test_json_schemas.ts +++ b/test/src/internal/_test_json_schemas.ts @@ -8,7 +8,7 @@ export const _test_json_schemas = >(app: App) => { const actual: IJsonSchemaCollection = JSON.parse( fs.readFileSync( - `${__dirname}/../../schemas/json/v${props.version.replace(".", "_")}/${props.name}.json`, + `${__dirname}/../../schemas/json.schemas/v${props.version.replace(".", "_")}/${props.name}.json`, "utf8", ), ); diff --git a/test/src/internal/_test_llm_application.ts b/test/src/internal/_test_llm_application.ts new file mode 100644 index 0000000000..977b10f9b4 --- /dev/null +++ b/test/src/internal/_test_llm_application.ts @@ -0,0 +1,40 @@ +import { ILlmApplication } from "@samchon/openapi"; +import fs from "fs"; + +export const _test_llm_application = + (props: { + model: Model; + name: string; + }) => + (expected: ILlmApplication): void => { + const actual: ILlmApplication = JSON.parse( + fs.readFileSync( + `${__dirname}/../../schemas/llm.application/${props.model}/${props.name}.json`, + "utf8", + ), + ); + sort(expected); + sort(actual); + }; + +function sort( + app: ILlmApplication, +): void { + function object(elem: object) { + for (const value of Object.values(elem)) iterate(value); + } + function array(elem: Array) { + for (const v of elem) iterate(v); + elem.sort((x, y) => { + const alpha = JSON.stringify(x); + const beta = JSON.stringify(y); + return alpha < beta ? -1 : alpha === beta ? 0 : 1; + }); + } + function iterate(elem: any) { + if (elem === null || elem === undefined) return; + else if (Array.isArray(elem)) array(elem); + else if (typeof elem === "object") object(elem); + } + iterate(app); +} diff --git a/test/src/internal/_test_llm_schema.ts b/test/src/internal/_test_llm_schema.ts index f0b943c975..be915b4263 100644 --- a/test/src/internal/_test_llm_schema.ts +++ b/test/src/internal/_test_llm_schema.ts @@ -9,7 +9,7 @@ export const _test_llm_schema = (expected: ILlmApplication.ModelSchema[Model]): void => { const actual: ILlmApplication.ModelSchema[Model] = JSON.parse( fs.readFileSync( - `${__dirname}/../../schemas/llm/${props.model}/${props.name}.json`, + `${__dirname}/../../schemas/llm.schema/${props.model}/${props.name}.json`, "utf8", ), );